![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
CTF_代码审计
malloc_冲!
这比赛也太难打了叭……
展开
-
【代码审计】buu_[GWCTF 2019]mypassword
1.页面打开像是注入,现注册登录后发现并非注入,如下:2.在登陆界面发现./js/login.js,打开查看到如下的js代码:代码解读:代码会把cookie中的username和password填进当前表单思路:由于是后端执行js,所以构造js即可。先写一个有表单的页面,调用这个js文件,cookie中的数据被填入表单,再用js获取页面表单内容,发送请求,就能得到管理员cookie。现在看在哪里以及如何发送请求。3.由于在各页面查看源码,在首页发现feedback.php:打开其源码可看到注释:代码分原创 2022-06-09 15:12:32 · 560 阅读 · 1 评论 -
【代码审计】伪协议读取+文件名注入漏洞
1.输入register.php注册账号进行登录,发现url传参,尝试使用伪协议读取user.php:2.继续读取function.php:3.发现存在ffffllllaaaaggg,伪协议读取会被重定向到hacker.php,代码审计发现这里存在parse_url漏洞,在user.php前面多加一个/就能使之返回false,从而读取文件:4. 继续读取m4aaannngggeee,解码后访问templates/upload.html:5.发现上传点,但是无法上传,尝试...原创 2021-11-14 16:45:59 · 660 阅读 · 1 评论 -
【代码审计】伪协议读取源码+正则绕过命令执行
1.首先打开页面查看源代码:这里是一个简单的文件包含,使用伪协议进行读取:?file=php://filter/convert.base64-encode/resource=mybackdoor.php2.进行解码后读取到mybackdoor.php的源码,本题比较简单,主要学习两种正则绕过方式:<?phperror_reporting(0);function blacklist($cmd){ $filter = "(\\<|\\>|Fl4g|php.原创 2021-10-21 09:36:14 · 699 阅读 · 0 评论 -
【代码审计】buu_[GWCTF 2019]枯燥的抽奖
1.根据提示出前十位的号码,猜测应该需要爆破后面十位,抓包发现发送到check.php:2.跟进查看代码:原理:因为代码中是通过种子seed生成了随机数,但是mt_srand()这个函数存在漏洞,php中mt_rand()生成的是一个伪随机数,是通过算法生成出来的,可以根据这个来进行爆破得到mt_srand()里的种子3.将给出前十个密码解析成php_mt_seed需要的参数,伪随机数生成脚本:str1 ='Xisiab1m0D'str2 = "abcdefghijklmnopq原创 2021-10-12 11:06:38 · 1266 阅读 · 0 评论 -
【代码审计】buu_[极客大挑战 2019]RCE ME
1.代码审计发现需要传入code参数,并且需要绕过数字和字母过滤后的正则:2.首先构造查看phpinfo中所禁用的函数:php -r "echo urlencode(~'phpinfo');"#%8F%97%8F%96%91%99%90使用~取反后的url进行编码时会将其编码为无法识别的字符,再在code传参时再次取反就可以绕过无字母无数字的过滤。http://c1e50a2c-9d42-44ec-8781-ae37a0aa5e7d.node4.buuoj.cn:81/?c原创 2021-10-11 16:46:35 · 684 阅读 · 0 评论 -
【代码审计】buu_[BJDCTF2020]Easy MD5
1.使用burp抓包重发,在响应包中看到提示,密码框直接输入ffifdyop,百度搜索md5($pass,true),发现这是一个万能密码ffifdyop,绕过:"select * from 'admin' where password='".md5($pass,true)."'"原因:当raw项为true时,数据库会把16进制转为ascii解释,返回的这个原始二进制,不是普通的二进制(0,1),而是'or’6\xc9]\x99\xe9!r,\xf9\xedb\x1c这种。or后面的句..原创 2021-09-11 09:43:25 · 152 阅读 · 0 评论