ToB企服应用市场:ToB评测及商务社交产业平台
标题:
[suctf 2019]EasySQL [SWPUCTF 2021 新生赛]error [强网杯 2019]任意注
[打印本页]
作者:
灌篮少年
时间:
2024-9-17 22:26
标题:
[suctf 2019]EasySQL [SWPUCTF 2021 新生赛]error [强网杯 2019]任意注
[suctf 2019]EasySQL
一个输入框,我会的方式都试过了
这题输入数字会给一个数组就如上
别的进行注入范例判断的时候就是没有回显,白的
但是输入一些关键的sql查询语句的时候就会nonono的
把union,order by ,sleep
等一些列我试的都不行
正常方式已经不行了
直到最后用到的堆叠注入
应为他的输入1会有回显那么对于堆叠注入
因该就会有用
payload:
1;show databases;
如许终于出了
进行下一步
payload:
1;show tables;
哈哈感觉就要行了
下一步
payload
1;show columns from 'Flag';
又错了,麻了
又经过一番都不行
看了一下别人的wp
原来是要猜测别人写的后端代码
下面就是解这一题的方式了
第一步最简朴的
payload
*,1
因为猜测代码如下
select $_POST['query'] || flag from flag
我们输入的代码就是在这了query
那么
输入1的原因
输入*,1,这里会增加一个临时列,他的列名为1,然后那一列的值都为1
1 || flag 这个会构成短路语法 会留下前面谁人1
就会变成如许
select *,1 from flag
如许就出来了
尚有一种就是堆叠注入了
用的是
1;set sql_mode=PIPES_AS_CONCAT;select 1
讲的是把||设置成了concat函数了就是进行连接
sql_mode : 它界说了 MySQL 应支持的 SQL 语法,以及应该在数据上实行何种确认查抄,其中的 PIPES_AS_CONCAT 将 || 视为字符串的连接操纵符而非 “或” 运算符
也就是PIPES_AS_CONCAT把||改成字符串了
因为:
pipes_as_concat:一个特定的 SQL 模式选项,它意味着在 SQL 查询中用 | 符号(即管道符号)作为字符勾通接符,从而允许利用管道符号进行字符勾通接。
SET 是一个用来修改系统变量的命令
[SWPUCTF 2021 新生赛]error
这个直接用sqlmap就出了
接下来试试手注
经过尝试之后可以发现这是字符型注入并且是‘’
有3列
是可以的,下面就继承
然后改一下字符起始位置就好了
updatexml
extractvalue
这俩都可以
[强网杯 2019]任意注
经过测试发现单引号被过滤了,而且下面的也都不行
试了一下堆叠注入还是可以的
与1有区别的就是2了
1;show databases;
跟1的结果也是一样的
不过用kali试了一下发现有bool 跟时间盲注这两个
果然sqlmap是没有灵魂的,没有乐成
用order by 试出了有2个
这个是字符型输入 要闭合单引号
1’;show databases;
查找到如下
接下来就差读取flag了
尚有一种就是动态实行预处理
进行16进制编码也是可以绕过select 等字符串的
通过上述也是找到了flag的所在地
如下set @a=0xxxxx; # 要实行语句的16进制
prepare test from @a;
execute test;:
要实行的是select * from `1919810931114514`
进行16进制编码
payload:
1' ; Set @a=0x73656c656374202a2066726f6d20603139313938313039333131313435313460;prepare test from @a;execute test;
就出来了
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4