[嘶吼CTF] Online Proxy
嘶吼的一个题,好像上次打了嘶吼,然后一个题磨了一天没摸出来
一开始以为是ssrf,试了半天发现写死了必须要http:// 开头,感觉就没机会了,查看源码,发现一个注释显示显示了当前IP,修改XFF头发现可控,并且会保存上一次访问的IP,这里就会用到数据库,所以可能存在一个注入
测试,打一个0’ or sleep(5) or ‘0过去,无延迟,显示payload,然后再重新随便打一个xff过去,出现延迟,在输入相同的xff,返回了0,出现延迟证明存在注入,只是没懂后端的查询代码是怎么样的,给人的感觉就像是直接是一句select xff一样。union select打了一下没有反应,报错也不存在,返回值有0和1,那就只能盲注了
然后自己动手做盲注,踩了一个小坑,即or和||是一致的,而|代表按位或,一开始用0’ or length(payload) or ‘0这么打,连length的返回值都是1。因为这种用or and这些来进行判断的结果只能是true 1和false 0嘛,愚蠢了。
而与零按位或数字则保持不变,就能获取结果,但是0和字符串或就会把字符串强制类型转换成数字,所以还是只能盲注
然后盲注二分打本来就慢,提示flag不在当前库,需要额外查一下库名,查表名列名的操作也略有修改。然后好像脚本访问速度过快,库名打到个information_schema服务器直接connection abort了。。。。盲注失败,自闭了
查wp查到一个赵总的脚本,将取出来的字符串转化成十进制数输出,然后再转成十六进制换回ASCII码快速获取字段,效率高了很多,太强了