[RoarCTF2020]wp
Y1ng是嘶吼的出题人之一,很久以前就在buu群里说这次嘶吼请你吃SQL注入大礼包,我算是吃饱了
虽然我都不会做,但是我吃到了超级SQL注入大礼包,注吐了,不过还是学到一点点东西,以及我是SQL注入废物
签到
ssrf,先看源码正则匹配过滤flag,但是curl存在二次编码的问题,直接file协议加二次编码绕过读flag
一万年没刷buu的题,今天看到群里赵总丢了这个题的wp,粗略看了下感觉有点意思,就立即进行一个buu的复现。。。。
题目给了附件,包括Dockerfile,里面有一句chmod 777 /var/www/html/img/
img目录可写
看源码,index.php锤子用没有,view.php写了一个curl的exec
接受了一大堆参数,host在拼了一堆乱七八糟的东西之后过了一个escapeshellarg(),
$host_addr .= $mode . '?all=true';
$host_addr = escapeshellarg($host_addr);
前两天祥云杯师傅们大力输出,我大力划水看了一个题,今天比赛结束看wp开始学习
学习之前先批评一下这个比赛的py程度,可能是20w的烂钱太过诱人,导致大家的py程度前所未有的高,py的具体内容见这篇知乎回答
是先猜数字再SSTI,SSTI经典过滤,然后额外过了了通配符和flag
猜数字是在限制范围内二分猜50次,理论上必然猜对
但是我可以直接进行一个NAN的输入,很有意思的是NAN不大于任何数,也不小于任何数,但你把它当数字输入也不报错,这样子就直接过了猜数字
SSTI只会抄payload,过滤了一下没调通,抄的任意文件读能用,读了下源码看过滤,flag位置没找到,还是要拼字符串去执行命令
经典字符串加法过过滤{{joiner.__init__.__globals__.__builtins__['__impo'+'rt__']('o'+'s')['po'+'pen']('c'+'at /super_secret_fl'+'ag.txt').read()}}
摸了两天的鱼,今天晚上找了一晚上资料把这段补上
HTTPS系列学习的根本原因都是因为最近在学习代理怎么用,然后对在代理下运行的HTTPS安全性产生了一定的困惑,加之以burp能明文抓取HTTPS包,更加困惑了
今天最后翻到了一个国外超级大哥文章的翻译,感觉是众多资料中讲的最清楚的了
在一切开始之前,先回顾一下https链接建立到TLS握手之间的操作
再摸一个图出来
可以看到,大家还是老老实实先来一个TCP三次握手,先把TCP层面的链接建立起来,然后开始进行TLS的握手,client hello,server hello+证书,随机数验证blblbl,走上上篇文章讲到的HTTPS认证过程的老路,这里重复一次的意义就是引入这个TCP链接建立过程,方便后面讲