如何对SQL注入漏洞进行检测与修复

SQL注入,这一种类的代码漏洞我确实学了很久,就是我刚开始触碰安全性就学习培训的第一类代码漏洞,都是1个目前为止还要学习培训的系统漏洞种类,只有说,觉得自身還是有许多 還是不容易的。从刚开始的手工制作一个企业网站一个企业网站去测,到以后的用googlehacking的方式去找异常连接,再到后边用sqlmap大批量检验。都是亲身经历了最少大半年的時间。今日才写了个启用sqlmapapi的脚本制作,想跟大伙儿共享某些踏过的坑和构思。

0×02SQL引入大批量检测的几类方式

文中的目地取决于根据看他人的编码来学习培训基本原理,另外也把握自身造轮子的工作能力。这儿仅仅例举了自己平常采用的几类方式,自然在网上能寻找越来越多的专用工具,或是更强的构思,全是最该学习培训的。

下边就例举3种方式是:sqliv、sqlmap-m、sqlmapapi。

1.2sqliv

1.0下载链接:

【https://github.com/Hadesy2k/sqliv】

1.1.2表明:

1.png

创作者是Hadesy2k,能够看见创作者大大的升级还是比较勤劳的,写这文章内容的时间是11月23日(文章内容第一版)(第二版早已是12月28日),从图中能够看得出创作者在月月初的那时候升级了一波。

而更以前在10月的那时候我看过一遍这一编码,发觉创作者在检验sql注入点的那时候仅仅在变量值后加了个单引号,随后检验回到网页页面的出错信息内容。以这类方法去检测自然会忽略许多 呀。并且假如1个连接后跟好几个主要参数,另外在全部变量值中放单引号。我头顶直出汗。

在【src/scanner.py】里能够看见这一句:

每一变量值加payload后组成一起,如今仍然是这类方法。

在11月月初更新一波后,能够看见payload已不是只能单引号了,也有了许多 其他的如括弧,分号等。

这一是lesson是沒有引入的,主要参数內容更改得话会危害网页页面回到結果,因此恰当的方式应当是独立给每一主要参数的內容加payload开展检测。

值的开心的是,创作者把检验POST恳求放到他的【ToDo】里了,希望。

(而当你12月28号再去看看的那时候,创作者又升级了很多,还添加了docker更便捷布署。点个赞。)

由于sqliv自身是沒有多详细地址大批量的,因此人们自身写1个咯,還是非常简单的,见下面的图,编码也在我的github里

分享: