sql注入网络安全实验室程序员

SQL注入总结

2016-10-12  本文已影响376人  夏夜星语

SQL注入是服务器安全最重要的一块,也是经常出现问题的模块,防止SQL注入也是可行的。
示例URL:"http://www.site.com/login.php?id=1"

一、SQL注入步骤

1. 检测输入参数类型,为string还是int

判别方法:将id的值改为:2-1,即将URL改为:"http://www.site.com/login.php?id=2-1",看结果和"id=1"一样不,一样则说明“2-1”运算了,说明id是整形参数,则无需对后续做去除“引号”的操作。

2. 判断数据库类型

判别方法:在id参数后添加SQL语句,比如检测目标网站后台数据库是否为MySQL:添加"and (select count() from mysql.user)>0"*,即URL变成:
"http://www.site.com/login.php?id=1+and+(select+count(*)+from+mysql.user)>0";
这样的话,如果结果仍正常返回,则说明后台数据库是MySQL。则后续可以继续判断数据库的版本,当前数据库,表,用户等信息。

涉及函数: select version(); select user(); select database();

3.进一步查询目标系统信息,利用union,insert等语句

这样的话,实现了加载指定目录下文件的目的。

4.向目标机写入文件,注入木马

二、SQL手工注入细节注意

如果在注入"and select union"语句时出现问题,被后台程序过滤掉,则可以用“d,s,u”(关键字的首字母)对应的URL编码代替,比如a的URL编码是%61
空格一般用+代替,或者/**/

三、SQL注入工具- sqlmap -- 开源跨平台

2016.10.12 上海

上一篇 下一篇

猜你喜欢

热点阅读