CTF
文章平均质量分 96
T6...
每天进步一点点
展开
-
ctfshow 反序列化(254-278)
用 |O:4:"User":3:{s:8:"username";可以看到fuck成功替换成了loveU,s:4这里表示的是4个字符,但是由于我们替换了,变成了5个字符,他就只会看love,这个U就不会看了。一般有这种str_replace将4个字符,替换成5个字符,或者任意的,只要字符替换的个数不相等,都是字符串逃逸的应用场景。将会以我们构造的token为admin为准,后面的token为user的值他就会丢弃,因为我们已经闭合了。原创 2023-06-07 13:23:49 · 826 阅读 · 0 评论 -
ctfshow---sql注入(214-253)
时间盲注了打开页面什么都没有,抓包也什么都没有,抓一下这个原始页面的包可以看到里面有参数将debug修改成1后可以看到有返回的内容既然说是时间盲注那么直接将ip修改成sleep(3) 成功延时三秒后显示内容。原创 2023-05-15 15:28:55 · 4096 阅读 · 0 评论 -
ctfshow---文件上传
来到文件上传了。原创 2023-04-10 16:46:53 · 687 阅读 · 0 评论 -
ctfshow---php特性
使用此管道符“|”可以将两个命令分隔开,“|”左边命令的输出就会作为“|”右边命令的输入,此命令可连续使用,第一个命令的输出会作为第二个命令的输入,第二个命令的输出又会作为第三个命令的输入,依此类推。就是比如get传入a=1第一个foreach的$key就是a,$value就是1,利用die($error) 这里退出会输出$error,所以将flag的值赋值给他就能得到flag,当然第一个if不让,所以我们利用一个跳板。_()==gettext() 是gettext()的拓展函数,开启text扩展。原创 2023-04-02 18:46:27 · 1535 阅读 · 1 评论 -
ctfshow---sql注入(171-213)
这里提一句,为什么不直接替换成acb这种,因为,flag原本就有字母,还原的时候会全部都还原成数字的,数字替换成符号应该也是可以的,这边测试了下除了&#好像别的符号都可以。插入查询后查询语句就会变成这样,由于id=11111这是一个不存在的id,而后面1=1又为真,所以会查询到表内所有的内容,--+是注释后面的字符。因为接受username的时候没有用引号,所以接受单纯的数字,而数字和字符比较会转换类型,字符串会变成数字0进行比较,所以相等。原创 2023-05-01 22:36:10 · 837 阅读 · 0 评论 -
ctfshow---文件包含
伪协议读取即可。原创 2023-03-20 20:48:57 · 793 阅读 · 0 评论 -
ctfshow---命令执行
就是让标准输出重定向到/dev/null中(丢弃标准输出),然后错误输出由于重用了标准输出的描述符,所以错误输出也被定向到了/dev/null中,错误输出同样也被丢弃了。data://text/plain, 这样就相当于执行了php语句 .php 因为前面的php语句已经闭合了,所以后面的.php会被当成html页面直接显示在页面上,起不到什么作用。$((~$(( $((~$(())))+$((~$(())))+$((~$(()))) )))) 这个是2。原创 2023-03-20 09:39:49 · 1489 阅读 · 0 评论