- 博客(10)
- 收藏
- 关注
原创 [HITCON 2017]SSRFme
x-forwarded-for值可以在请求头伪造一个任意值便于访问上传的文件,filename值用于指定写入的文件名,url用于拼接shell_exec的字符串参数,然后将shell_exec的结果写入filename指定的文件。shell_exec()拼接的GET参数表示执行一个GET请求,在本地试了一下可以用伪协议,也可以直接任意文件读取,不支持php协议,但是连上之后不能直接读取flag和readflag,也不能直接执行readflag。这里既然是将内容写入指定的文件,并且文件名没有任何过滤。
2024-03-09 23:33:37
417
1
原创 [CISCN2019 华北赛区 Day1 Web5]CyberPunk
但是并没有对address做过滤,只有在change.php页面对新提交的address做了特殊字符转义,但是还拼接了前一句的查询结果里的address值,这个值可是没有被黑名单过滤,而且还有 一个关键是做了if判断,如果上面的第一个查询结果正确,第二个结果报错就会将报错信息输出。把所有源码读到本地以后就是代码审计了,可以发现每个页面都对username和phone做了过滤。剩下的就是报错注入加二次注入的正常流程了,address没有任何过滤。这里属于是叠buff了,二次注入+报错注入。
2024-03-08 13:35:15
383
1
原创 [极客大挑战 2019]BuyFlag
买flag需要money=100000000,但是直接提交100000000的话超过长度限制了,这里只需要提交money是数组就能绕过判断。提示只有CUIT的学生才能买flag,只需要将cookie中的user=0改成user=1就能绕过。从菜单来到pay.php,f12在响应里面看到提示,password是404,但是又不能是数字。这里因为是弱比较,所以只需要在404后面加上任意非数字字符。
2024-03-07 22:38:20
355
1
原创 [RoarCTF 2019]Easy Calc1
但是在phpinfo里可以看到很多函数被禁用了,几乎不能任意命令执行,引号都被过滤了,读文件也不能直接读,这里我结合了无参数rce读取flag,因为这里可以有数字参数,所以没那么麻烦。这时候想到主页的源码中有提到做了waf,经过多番尝试,最终在参数num前加上空格就能绕过,具体原理我也不清楚。是个计算数字的页面,f12查看源码发现是将输入的值发送到calc.php。但是在拼接phpinfo()的时候显示的403,就算只输入一个a也不行。访问calc.php页面得到源码,黑名单对一些字符做了过滤。
2024-03-07 21:29:38
378
1
原创 [ACTF2020 新生赛]BackupFile1
get提交的参数key只能是数字又必须等于字符串才能拿到flag,这里的知识点就是字符串和数字做弱比较时会把字符串截取到第一个非数字字符前,即'123ffws'相当于123。提示了‘Try to find out source file!’,那就又是备份文件,在index.php.bak找到index.php的备份文件。
2024-03-07 17:38:10
835
2
原创 BUUCTF-web新手进阶(二)
上传成功了,但是没有显示路径,一般上传路径都是相对路径upload/或者uoloads/,这里访问upload/1.jpg成功,将1.jpg改成1.phtml,上传成功用蚁剑连接。万能密码1'or 1='1报错了1=’1‘有语法错误,应该是or被过滤了,双写绕过。然后就是常规sql注入流程,by也被过滤,一样双写,查到4报错,那就是三个字段。提示有备份文件的习惯,那就是说有源码的备份文件,访问www.zip得到源码。和上题一样的方法,传.phtml文件名,连蚁剑。随便传个图片马,显示路径了,
2024-03-06 19:21:24
427
1
原创 BUUCTF-web新手进阶(一)
万能密码:1'or 1=1#,有两个字段,省去了order by试试union select 1,2#select和where被过滤了,联合查询行不通只能试试堆叠查询-1';因为select被过滤了,所以就算堆叠查询也不能直接查flag,这里的操作是先改列名,再改表名,z最后利用题目自身的select查flag注意:这里一顿操作必须在同一次进行,否则题目select报错就终止了以后的语句,只能重开再次用万能密码就能查到flag。
2024-03-05 23:02:58
631
原创 BUUCTF-web入门(二)
先试一下一下127.0.0.1;ls这里直接输入;ls 把ping命令取消了更直观一点,最后payload:;cat /flag。
2024-03-05 16:05:41
737
原创 BUUCTF-web入门(一)
重点是下面的切割字符串部分造成漏洞,$_page值是$page经过url解码以后,在最后拼接一个?以后的字符串中的第一个?然后就是想办法绕过checkFile的白名单检查,这里第一个判断可以肯定不成立,第二个只有是只有白名单里的才能返回true。/abc'部分就好办了,直接'../' 返回上层目录。file=hint.php看看hint.php,提示flag在ffffllllaaaagggg。
2024-03-05 14:34:10
430
原创 [红明谷CTF 2021]write_shell1
换行绕过也不行,check函数虽然看着过滤的不多,但是一些关键的被过滤了,让写入空的php文件但是又把分号过滤了,这里在本地试了一下,发现短标签不需要分号,但是这样在本地会莫名其妙的输出1,有没有大佬解释一下。但是想传system("ls /")的时候又有个问题是空格被过滤了,这里要用到一个函数是hen2bin()将十六进制转换为二进制编码后的字符串,ls / 十六进制编码是6C73202F。这里check函数是嵌套在waf里面的,waf嵌套做了一个数组的判断,而check才是真正的waf。
2024-03-04 21:29:12
409
空空如也
sql注入响应login in
2023-09-14
TA创建的收藏夹 TA关注的收藏夹
TA关注的人