做了三天web题了,因为刚入门,还是不要做得太快,先把前几天学到的好好总结一下,主要是做了几道bugku上的web题和合天网安的几道web题,这篇博客先写一些自己的收获,后面再写两篇writeup复习巩固一下做题思路。
1. 看源码
可以右键->【查看网页源代码】,也可以用火狐和谷歌浏览器的按F12键,按F12键可以修改html源代码方便构造一些值提交,但如果不需要的话直接右键查看源代码更直观,看网页里面的注释之类的都很方便。
2. 抓包
这几天接触到的抓包一般是用burpsuite,如果要多次尝试可以右键->【send to Repeater】,如果要对某个字段爆破可以右键->【send to Intruder】,这是我比较常用的两种burpsuite的功能。
今天还接触到谷歌浏览器:F12->Network->勾选【Preserve log】,也可以方便查看请求包和响应包的数据(包头字段和网页数据等)。
3. 关注的几个地方
有时候打开网页后感觉没有可疑的地方,首先查看下源代码,看有没有注释之类的提示信息,之后重新打开网页,抓抓包看下请求包响应包的包头数据有没有可疑的地方。
4. include漏洞
遇到php代码中有include($file)的,一般和 php://input或者php://filter有关,$file值如果是php://input,就要用post表单构造数据,如果是php://filter,就用下面的payload读取文件base64加密后的源代码,解密后查看源代码。
php://filter/read=convert.base64-encoding/resource=文件名(如index.php)
5. 代码审计
需要多次动态调试来尝试,以及要关注里面出现的函数,出现在关键位置的函数一般都是有用的,搜索一下有没有相关的漏洞。
还有一些和数据处理有关的绕过,如md5函数结果相等(0ed+)的比较,以及strcmp(array,string)=null,除了遇到时多百度之外,平时也需要多积累到时候才能想到。
还有GET参数构造的时候如果传入的是数组要记得加[],?txt[]=[1,2,3],如果填?txt=[1,2,3]似乎不会被当做array处理。
6.编码
JS的几种编码(如JSFUCK)都可以在浏览器F12之后的控制台执行,这样可以省去找解密网站的时间。
html编码,base64编码,url编