前言
SQL注入是比较常见的网络攻击方式之一,它不是利用操作系统的BUG来实现攻击,而是针对程序员编写时的疏忽,通过SQL语句,实现无账号登录,甚至篡改数据库。当出现了相关注入的操作时,锅还是会降临的……
那如何减少或者避免数据库注入的发生呢?
=========》libinjection
作为一个开源的sql注入和xxs攻击的词法解析库,它比较独特的是没有使用正则表达式而是一个完善的特征库来匹配检查SQL注入。相比传统正则匹配识别SQL注入在于速度快以及低误报,低漏报 。
源码网址如下:
http://www.github.com/client9/libinjection
一、编译源码
libinjection的检测原理在网上可以查到很多,在这就不做具体介绍了,主要介绍下如何编译使用。
1、编译代码
首先我们通过github下载libinjection的源码
然后我们将源码上传到 linux服务器上
我们进入src目录执行make命令
编译完成啦
二、使用测试
输入如下命令编译测试:
#输入命令
gcc -Wall -Wextra example1.c libinjection_sqli.c
#执行操作
./a.out "-1' and 1 = 1"
#输出结果
sqli with fingerprint of 's&1'
已经检测出符合注入条件的规则啦,是不是很简单呢。
这个是在linux下直接运行的,那么如果想在编译一个jar包做检测如何处理呢?
下一篇给大家介绍下如何调用libinjection生成的动态连接库。