代码审计第三讲实战发掘sql注入缝隙
为了更好去发掘php缝隙,关于盛行的结构,咱们也要了解一下,这样才干发掘到高位缝隙。关于结构学习,不同公司有不同结构,所以关于结构,也因人而应,别的看公司需求,假如你的公司大部分选用某一种结构,你来学习这种结构就能够了。由于这样才能够进步你的薪酬。这儿我引荐咱们学习的是ThinkPHP。
http://document.thinkphp.cn/manual_3_2.html
http://sec-redclub.com/
相对来说,咱们也不能悉数去把开发手册看完。咱们要有需求型去检查文档,比方根底部分,检查哪些常识,把握最基本常识就能够了。假如你想发掘结构缝隙,那么必须有必要去开发一些小程序,使用上结构,这样你就能够把握的节奏快一些,并且也能更好了解。
Application
├─Common 使用公共模块
│ ├─Common 使用公共函数目录
│ └─Conf 使用公共配置文件目录
├─Home 默许生成的Home模块
│ ├─Conf 模块配置文件目录
│ ├─Common 模块函数公共目录
│ ├─Controller 模块控制器目录
│ ├─Model 模块模型目录
│ └─View 模块视图文件目录
├─Runtime 运行时目录
│ ├─Cache 模版缓存目录
│ ├─Data 数据目录
│ ├─Logs 日志目录
│ └─Temp 缓存目录
曾经你看到大写字母I、M,知道代表什么意思么?
模板便是把一切的过滤办法、函数悉数给框起来,你直接调用就能够。假如结构一呈现问题,那么所以调用者就会呈现问题了。
https://segmentfault.com/q/1010000002988073结构问题就简略给咱们介绍到这儿。
本次审计代码为damiCMS,进行sql注入缝隙发掘。
文中箭头打的当地,便是咱们要点去检查代码的当地。
Action文件夹里边的文件是咱们要点检查的文件。
你能够要点去一个一个剖析,也能够用notepad++对整个文件夹的$_GET或许$_POST等进行查找。
去查找有没有相对应的缝隙。关于代码必定去细看,假如不细看,你是发现不了什么问题的。
这个是查找出来的成果,咱们需求对成果逐个进行剖析。看看是否有缝隙。
咱们注意到这个文件,里边现在没有看到相关的过滤函数。关于前面的文件里边,呈现了很多的过滤函数,如htmlspecialchars、remove_xss等过滤函数。关于这些函数,本文就不再逐个进行解说了,假如对此两个函数不了解,能够检查以下URL
http://www.w3school.com.cn/php/func_string_htmlspecialchars.asp
咱们通过阅览源代码,发现ajax_arclist()这个函数发现问题,被圈住的这三个变量没有通过任何的过滤,直接就进过赋值,可能会发作问题。那现在咱们开端验证问题。
1.首要需求建立damicms,咱们选用环境是wamp。详细建立我就不给咱们介绍了,前几节,有详细建立的内容。
[1] [2] 黑客接单网