参考文章:一步一步学习DVWA渗透测试(Weak Session IDs)-第十一次课

使用工具:Hackbar破解 | 在线时间戳查询 | MD5在线解密破解

原理

用户访问服务器的时候,一般服务器都会随机分配一个身份证 session id 给用户,用于标识。用户拿到 session id 后就会保存到 cookies 中,之后只要拿着 cookies 再访问服务器,服务器就知道你是谁了

但是 session id 过于简单就会容易被人伪造。根本都不需要知道用户的密码就能登录账号

有人可能会说,上面讲的那个多,举个例子看看,好,那就举个例子(PS:无中生友,嘿嘿)

记得群里有个表哥,挖某专属,思路就是通过后台cms暴露,然后审计,发现后台cookie是有规律的,时间戳
直接写脚本通过爆破出某段时间内登录的Cookie,直接伪造登录,后台上传点getshell,2500到手!!!

分析

Low

先看代码,进行审计,找出可伪造原因

这里直接,访问一次,seession就加1,直接就可以伪造了

还有就是如果session中的last_session_id没有值,默认设置为0,。。。
image.png

验证一下是不是如上面所说,进行抓包并分析,验证成功!!
image.png
image.png

然后使用Firefox的hackbar,模拟session登录,先进入登录界面(使用工具放在第二行了)
image.png

使用hackbar的cookie功能,进行模拟,登录,成功!!

注:输入的URL到weak_id模块的,因为这个session是那里获取到的
image.png
image.png

Medium

老样子,先看代码,进行审计,找出可伪造原因

这里使用了时间戳,也是可以伪造的(使用工具放在第二行了)
image.png

验证一下是不是如上面所说,进行抓包并分析,验证成功!!
image.png
image.png

跟上面一样,hackbar直接伪造cookie,进行登录
image.png

High

老样子,先看代码,进行审计,找出可伪造原因

。。。,跟Low级别一样,只是用MD5加密了而已
image.png

但是,这里我抓包的dvwaSession和源代码中看到的不一样,所以就猜解不了了

因为dvwaSession是我们登录后台时显示的,而源代码中的是登录后台后显示的没有登录后台,就不知道加密方法
**
估计是dvwa不给看的代码中,对这里进行了限制(很像PDO技术的分开独立操作)

当然,如果是有经验的人,有可能也会猜到是md5加密,进行破解

抓包
image.pngimage.png

源代码
image.png
image.png

Impossible

老样子,先看代码,进行审计,找出不可伪造原因

脚本采用了随机数+时间戳+固定字符串”Impossible”,再进行sha1运算,极大的降低了破解范围,但是也是有可能爆破的,只要有耐心
image.png