Buu摸鱼日记(10)

 

buu摸鱼日记(10)

[GXYCTF2019]禁止套娃

一个简单的rce,之前没怎么接触过RCE,没做出来

首先niklo扫了下,发现是git泄露,于是乎直接拿到了源码

<?php
include "flag.php";
echo "flag在哪里呢?<br>";
if(isset($_GET['exp'])){
    if (!preg_match('/data:\/\/|filter:\/\/|php:\/\/|phar:\/\//i', $_GET['exp'])) {
        if(';' === preg_replace('/[a-z,_]+\((?R)?\)/', NULL, $_GET['exp'])) {
            if (!preg_match('/et|na|info|dec|bin|hex|oct|pi|log/i', $_GET['exp'])) {
                // echo $_GET['exp'];
                @eval($_GET['exp']);
            }
            else{
                die("还差一点哦!");
            }
        }
        else{
            die("再好好想想!");
        }
    }
    else{
        die("还想读flag,臭弟弟!");
    }
}
// highlight_file(__FILE__);
?>

无参数rce

什么是无参数函数RCE

其实就是一个远端执行php,类似于一句话那种

php data等伪协议都被ban了,呢么就直接执行就行了,这里利用PHPSESS_id来绕过那个bin2hex即可

[SUCTF 2019]Pythonginx

审计源码挺草的,别的没什么

配置文件存放目录:/etc/nginx 主配置文件:/etc/nginx/conf/nginx.conf 管理脚本:/usr/lib64/systemd/system/nginx.service 模块:/usr/lisb64/nginx/modules 应用程序:/usr/sbin/nginx 程序默认存放位置:/usr/share/nginx/html 日志默认存放位置:/var/log/nginx 配置文件目录为:/usr/local/nginx/conf/nginx.conf

读取Nginx服务器的配置

# location /flag { # alias /usr/fffffflag; # } }

,用file协议去探路,然后穿个

file:////suctf.cc/usr/fffffflag

就拿到flag了

[GYCTF2020]Blacklist

这个是强网杯的那个预编译的升级版,不过他连预编译也一起毙了

HANDLER ... OPEN语句打开一个表,使其可以使用后续HANDLER ... READ语句访问,该表对象未被其他会话共享,并且在会话调用HANDLER ... CLOSE或会话终止之前不会关闭

1';
HANDLER FlagHere OPEN;
HANDLER FlagHere READ FIRST;
HANDLER FlagHere CLOSE;#