前言
欢迎来到我的博客
个人主页:北岭敲键盘的荒漠猫-CSDN博客
本文主要是整理rce的一些绕过,以及思路等
用于实战中对着测漏洞用
偏进阶,不涉及基础的漏洞原理等内容
玩法思路
代码执行转化命令执行
遇到代码执行漏洞,我们可以传递system这类执行系统命令的函数来实现
利用代码执行漏洞执行系统命令
命令执行转化代码执行
1.写一个文件到指定文件夹中然后再浏览器访问它传参
2.文件上传,之后rce改格式执行。
原理就是:像启动工具一样执行php... python... javac java...等命令
无回显对策
1.写一个文件,然后访问这个文件看看能不能访问到
2.执行curl这类命令,让他访问我们自己的服务器,看看他访没访问(win和linux通用)
绕过姿态
通配符绕关键词
原理:linux下依靠?和*的模糊匹配来读相关的内容
?:不知道具体名称可以用?代替,*:对应位置模糊匹配
转义字符,空变量绕关键字
原理:Linux下,利用转义字符\ ''能够打乱正则匹配,但是依旧能够运行的特点进行绕过
干扰字符:
\
''
$*
$@
$x
${x}
变量拼接绕关键字
原理:利用;多语句拼接,类似编程定义变量来读取
反引号绕关键字
原理:ls读取的内容转到命令中
编码绕关键字
原理:对文件名进行加密,然后利用··的结果作为命令特性,再解码实现编码绕关键字
这个比较好用,也可以直接把命令给编码掉,再解码运行
分割写入绕关键字
原理:创建多个文本,一时间顺序打印,再写入一个shell文件中,之后直接执行shell文件即可
倒序创建文本
写入shell文件
shell文件中长这样
\换行来躲查杀
之后执行这个shell
(记得cat后面加空格,用双引号罩起来,我忘加了但是懒得截图第二遍了)
异或运算绕关键字
原理:通过异或运算来间接拼凑出payload
运行一下
内联执行绕过函数过滤
payload:echo `ls`;echo $(ls);?><?=`ls`;?><?=$(ls);
换指令绕指令过滤
原理:没有原理,就是linux中的查看指令多点。
more:一页一页的显示档案内容
less:与 more 类似
head:查看头几行
tac:从最后一行开始显示,可以看出 tac 是 cat 的反向显示
tail:查看尾几行
nl:显示的时候,顺便输出行号
od:以二进制的方式读取档案内容
vi:一种编辑器,这个也可以查看
vim:一种编辑器,这个也可以查看
sort:可以查看
uniq:可以查看
file -f:报错出具体内容
sh /flag 2>%261 //报错出文件内容
curl file:///root/f/flag
strings flag
uniq -c flag
bash -v flag
rev flag
换字符绕过空格过滤
原理:linux特性,可以利用下面字符绕空格过滤
%09(url传递)(cat%09flag.php)cat${IFS}flag
a=fl;b=ag;cat$IFS$a$b
{cat,flag}
通配符访问命令代码地址执行指令
原理:linux的指令像脚本一样,我们可以直接统配他的地址去执行命令
[]绕正则匹配
原理:属于一个模糊匹配,[a-c]就是匹配a-c其中的一个字符,但是我们直接就是阳谋想匹配b即可
路径截取绕匹配
原理:就是看路径里的字母,然后拿出里面的字母拼凑指令
这里取了一个n一个l凑成nl命令。
未搞明白但是怕忘记的方法
source命令
source命令,又称点命令,可以用点号( . ),代替
结语
欢迎大家指正补充一起完善这篇绕过思路整理