代码审计第七节-逻辑漏洞

  • A+
所属分类:代码审计

代码审计第七节主要是讲解逻辑漏洞,然而逻辑漏洞和越权漏洞特别不好挖掘,你如果是黑盒测试,那么金融网站类似逻辑漏洞和验证码漏洞相对来说比较普遍,然而对于一般的cms挖掘的话比较少。所以今天挖掘一套更新过cms,来给大家讲讲思路和挖掘方法。

首先为了证明逻辑漏洞比较普遍,我们先在漏洞平台看看它的漏洞在市场上都有哪些。

推荐挖掘逻辑漏洞不错的文章。

http://drops.wooyun.org/web/5048 密码找回逻辑漏洞

http://drops.wooyun.org/papers/345 支付逻辑漏洞

这两种漏洞都是在逻辑漏洞上的代表,其实越权和逻辑漏洞挖掘的方式差不多,都是不按正规方式出牌,达到我们想要达到的效果。这里主要是以挖掘逻辑漏洞为主。

代码审计第七节-逻辑漏洞


给大家推荐一个搜索乌云漏洞的网址,用来查找最新公开漏洞,在搜索同类型漏洞比较有用。


代码审计第七节-逻辑漏洞155条相对来说也比较多,我们再查找一下app方向的逻辑漏洞看看有哪些。

代码审计第七节-逻辑漏洞

App逻辑漏洞,相对来说也是比较多。那我们开始进行分析此次代码。

代码审计第七节-逻辑漏洞

代码审计第七节-逻辑漏洞安装成功以后,界面如上所示,我们发现骑士cms是一套招聘cms。

代码审计第七节-逻辑漏洞


大概代码样式是这样的。

找回密码可能存在漏洞,我们进行黑盒测试,发现可以进行找回密码。

代码审计第七节-逻辑漏洞


在免费注册的地方,有两种类型可以注册,一种是个人会员,另外一种是企业会员,我们分别进行注册,test为个人会员而test01为企业会员。

我们利用test新建一份简历,然而利用企业会员发现可以看到test的用户名和邮箱。

代码审计第七节-逻辑漏洞

在找回密码地方,需要填写两个,一个是用户名另外一个邮箱。由于现在的密码找回机制都会有一些动态验证码来进行加强验证,导致暴力破解已经无解。我们利用burp进行抓包。

代码审计第七节-逻辑漏洞

然后进行暴力破解:

代码审计第七节-逻辑漏洞


可以暴力破解出密码。

由于是黑盒测试,我们发现相对应的目录是在user/user_getpass.php这个文件下,我们开始分析user_getpass.php这个文件。

代码审计第七节-逻辑漏洞


这一步是关键,在代码里面我们发现主要是填写用户和邮箱。另外密码是6位数的随机数发到邮箱。

我们在分析一个phpmywind的cms的站,起点也是先从黑盒开始测试,先搭建网站在看网站结构,在去分析代码,这样对整个漏洞就会有一个完整的思路。

代码审计第七节-逻辑漏洞

大概的目录结构,然后我们搭建好以后,注册一个文件,看看是什么逻辑:

代码审计第七节-逻辑漏洞

注册文件是member.php文件。

代码审计第七节-逻辑漏洞

我们通过找回密码的方式去看看,发现有问题答案,感觉这样就有点行不通了。现在开始查看一下代码吧。

代码审计第七节-逻辑漏洞

找回密码的地方,经过分析,可能不知道问题答案,实在是没法绕过去,不过当时在分析找回密码的时候,又发现了一个新点,在设置新密码的地方好像出现了问题,我们直接先分析代码,然后再进行验证。

代码审计第七节-逻辑漏洞


往下面走了几行,就看见这个,在找回密码的时候用到了验证,而在设置新密码的时候没有用到上面问题的验证,导致可以修改用户的密码。另外用户和密码都不要为空,就可以跳到下面去执行sql语句。造成密码直接被修改。

代码审计第七节-逻辑漏洞

下节教程主要是给大家介绍一下任意文件删除。任意文件删除主要利用到的函数为unlink函数,在大家认真复习之前,希望把此函数进行复习。


作者博客:sec-redclub.com

Q群:242410171
论坛:http://bbs.whitecell-club.org
欢迎投稿以及咨询问题。
版权声明:该科普文章属于WhiteCellClub团队的redBu11原创,转载须申明!

代码审计第七节-逻辑漏洞

本文始发于微信公众号(WhiteCellClub):代码审计第七节-逻辑漏洞

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: