代码审计小记 (一)

代码审计小记 (一)

0x00 入门

感觉代码审计是一项必须要掌握的技能,但真正的代码审计和ctf那样只看一个index.php还是有很大差别的。从别人的文章看起吧,下面是我参考的链接。

http://foreversong.cn/archives/709

cms下载地址:

http://www.mycodes.net/49/5240.htm

0x01 上手

一开始我只是大致浏览了一下整个cms,只知道这个cms之中存在sql注入漏洞。鉴于之前使用过大法师的神器zhe,这里直接上手开启自动审计。

自动审计完我就发现问题了,这可疑漏洞太多了。一百多个,我总不能一个一个看过去吧,那样效率太慢了。

后来想到一点,我应该考虑的是可控变量的位置,从前台找后台对应页面。

这几个页面才是我们跟进代码查看的重点。

0x02 漏洞代码

找到一个fun.inc.php页面,里面定义了一些安全防护函数。
如下:

在第二张图里,打ctf的经验告诉我,这个函数是对大小写敏感的。也就是说,他的这些关键字都可以大小写进行绕过。除了大小写绕过之外,由于他这里是直接替换为空的,所以我们还可以进行双写绕过,如: seleselectct => select

接下来很显然就是找哪里调用了这个函数的php页面。

114处...有点多好吧..不过,我们可以排除一些不必要的页面,比如管理员的后台php,以及一些管理员才能接触到的组件。

这个地方,这里只调用了一个防护函数,本来第一个那个防护函数我觉得是绕过不了的。但是这里只调用了一个html_safe 所以,我们可以进行大小绕过,或者双写绕过。

这里直接报错了。我们利用报错注入即可。

0x03 小记

  • 寻找可控变量
  • 寻找可以函数
  • 从前台页面到对应后台页面
  • 记住某些函数的特性(漏洞)

posted on 2017-10-11 21:18  _Deen  阅读(425)  评论(1编辑  收藏  举报

导航