想法
一直以来想着要写一些博客来消化下自己学到的知识,或者利用文字发泄下烦恼的情绪。
所以就有了这第一篇文章。
很简陋,但希望以后会越来越会好。也希望自己在信息安全道路上能有所获,能有所得。
以下记正文,把最近实验吧上的web题目消化一下。
Guess next Session
题目链接:http://www.shiyanbar.com/ctf/1788
题目是php审计,源码如下:
那么关键在于以get方式提交的password要与session所存的password值相等
/*关于session
session 常与cookie一同出现。大体上区别在于cookie存在浏览器端(顺带一提,Chrome存的cookie常让我心烦) 而session存在服务器端。
参考了下别人的wp
而这题中session属于哪个客户端,是通过http 请求头中的cookie中的sessionid 来实现的
因此,用fiddler抓包,删去这条数据使$_session['password']值为空,最后提交空密码就好了。收获就在于了解sessionid由cookie传给服务端吧。。
ps:结果发现好像直接点提交就成了?这题是什么情况?
Once More
前一天做的,也是php审计
(看到“===”强类型比较就想到了做南邮cg-ctf上的md5爆破,考的就是“==”跟“===”)
提示里说到ereg()函数有漏洞,还有“从小就要用科学的方法来计数”。加之源码里ereg与下面的关键代码,可以推出password的几个要求:
1)大小与长度有要求,这里显然用到提示科学记数法了
2)提交字符串要含有*-*
3)满足ereg()的字母数字组成。
由于ereg() 的漏洞是%00以后的内容就被截断了,因此可以构造出1e9%00*-*提交
(这里%00按编码存在,占一个长度;且>在比较时,直接用1e9跟9999999比较,据大佬所说是因为它会先判别满足科学记数法与否,满足就按科学记数法比较)
提交结果就好了。
今天就写到这了。马上期末又有一大堆学科要复习了,希望自己能在暑假继续刷题,争取成为一名优秀的CTFer吧。