红日攻防实验室

红日攻防实验室



代码审计第七节实现骑士cms逻辑漏洞挖掘

代码审计第七节主要是讲解逻辑漏洞,然而逻辑漏洞和越权漏洞特别不好挖掘,你如果是黑盒测试,那么金融网站类似逻辑漏洞和验证码漏洞相对来说比较普遍,然而对于一般的cms挖掘的话比较少。所以今天挖掘一套更新过cms,来给大家讲讲思路和挖掘方法。
首先为了证明逻辑漏洞比较普遍,我们先在漏洞平台看看它的漏洞在市场上都有哪些。
推荐挖掘逻辑漏洞不错的文章。
http://drops.wooyun.org/web/5048 密码找回逻辑漏洞
http://drops.wooyun.org/papers/345 支付逻辑漏洞
这两种漏洞都是在逻辑漏洞上的代表,其实越权和逻辑漏洞挖掘的方式差不多,都是不按正规方式出牌,达到我们想要达到的效果。这里主要是以挖掘逻辑漏洞为主
1.png
给大家推荐一个搜索乌云漏洞的网址,用来查找最新公开漏洞,在搜索同类型漏洞比较有用。
2.png
155条相对来说也比较多,我们在查找一下app方向的逻辑漏洞看看有哪些。
3.png
App逻辑漏洞,相对来说也是比较多。那我们开始进行分析此次代码。
4.png
5.png
安装成功以后,界面如上所示,我们发现骑士cms是一套招聘cms。
6.png
大概代码样式是这样的。
找回密码可能存在漏洞,我们进行黑盒测试,发现可以进行找回密码。
7.png

在免费注册的地方,有两种类型可以注册,一种是个人会员,另外一种是企业会员,我们分别进行注册,test为个人会员而test01为企业会员。
我们利用test新建一份简历,然而利用企业会员发现可以看到test的用户名和邮箱。
8.png
在找回密码地方,需要填写两个,一个是用户名另外一个邮箱。由于现在的密码找回机制都会有一些动态验证码来进行加强验证,导致暴力破解已经无解。我们利用burp进行抓包。
9.png
然后进行暴力破解
10.png
可以暴力破解出密码。
由于是黑盒测试,我们发现相对应的目录是在user/user_getpass.php这个文件下,我们开始分析user_getpass.php这个文件。
11.png
这一步是关键,在代码里面我们发现主要是填写用户和邮箱。另外密码是6位数的随机数发到邮箱。
我们在分析一个phpmywind的cms的站,起点也是先从黑盒开始测试,先搭建网站在看网站结构,在去分析代码,这样对整个漏洞就会有一个完整的思路。
12.png
大概的目录结构,然后我们搭建好以后,注册一个文件,看看是什么逻辑
13.png
注册文件是member.php文件。
14.png
我们通过找回密码的方式去看看,发现有问题答案,感觉这样就有点行不通了。现在开始查看一下代码吧。
15.png
找回密码的地方,经过分析,可能不知道问题答案,实在是没法绕过去,不过当时在分析找回密码的时候,又发现了一个新点,在设置新密码的地方好像出现了问题,我们直接先分析代码,然后再进行验证。
16.png
往下面走了几行,就看见这个,在找回密码的时候用到了验证,而在设置新密码的时候没有用到上面问题的验证,导致可以修改用户的密码。另外用户和密码都不要为空,就可以跳到下面去执行sql语句。造成密码直接被修改。
17.png
下节教程主要是给大家介绍一下任意文件删除。任意文件删除主要利用到的函数为unlink函数,在大家认真复习之前,希望把此函数进行复习。
本人博客:sec-redclub.com

 标签: none

作者  :  lyxw



关于我

about me

lyxw

联系我