跳转到帖子
  • 游客您好,欢迎来到黑客世界论坛!您可以在这里进行注册。

    赤队小组-代号1949(原CHT攻防小组)在这个瞬息万变的网络时代,我们保持初心,创造最好的社区来共同交流网络技术。您可以在论坛获取黑客攻防技巧与知识,您也可以加入我们的Telegram交流群 共同实时探讨交流。论坛禁止各种广告,请注册用户查看我们的使用与隐私策略,谢谢您的配合。小组成员可以获取论坛隐藏内容!

    TheHackerWorld官方

  • 0

从PbootCMS审计到某狗绕过


HACK1949

问题

从PbootCMS审计到某狗绕过

5fe28977a2cec.png

1603942864_5f9a39d0c38e6b6e7c772.png!sma有date,in_array,explode,implode,乍一看是些没啥用的函数, 但是经过一番冥思苦想,还是找到了可以利用的方式,只要将函数名写成数组,经由implode拼接成字符串,最后进入eval即可执行代码。{pboot:if(implode('', ['c','a','l','l','_','u','s','e','r','_','f','u','n','c'])(implode('',['p','h','p','i','n','f','o'])))}!!!{/pboot:if}if括号中的payload会最终进入到eval中执行, 测试一下这种方式行不行,如图这样是可以执行代码的。1603942873_5f9a39d953815b069aaff.png!sma最后将payload插入到后台网站基本信息中,随便访问一个网页代码就会执行。1603942881_5f9a39e107936da56d73a.png!sma

4.webshell绕过某狗

上文最后的绕过姿势主要使用了implode函数将数组元素拼接成了字符串,同时php有种可变函数的机制,如果一个变量名后面有圆括号,php将寻找与变量值同名的函数,并且尝试执行它。同时注意可变函数不能用于类似echo的语言结构,如何判断一个字符串能不能作为可变函数呢?只需要var_dump(function_exists('call_user_func'))返回true即可判断,如1603942931_5f9a3a13e39c66936683d.png!sma这个姿势除了能绕过上文的过滤还有啥用呢? 想不到能干啥就过个狗吧。 环境搭起来,Apache2.4.39, 某狗Apache版V4.0 我们以执行系统命令的system函数做测试, 首先判断一下system是不是一个函数,1603942945_5f9a3a2137249fa6983d0.png!sma返回true说明system能够作为可变函数使用,接着我们只使用可变函数看下会不会被狗拦截,1603942963_5f9a3a3346c0683cd642e.png!sma被狗咬了,我们再使用implode函数将system函数加工一下,1603942970_5f9a3a3a8942689949b3c.png!sma成功执行命令!

上文另外一个姿势,在函数名和圆括号之间插入控制字符能不能绕过狗呢?答案是可以! 先将十六进制转换为文本字符串1603942980_5f9a3a445afae62014320.png!sma复制这两个原点到php文件中,测试一下,执行成功!

1603943000_5f9a3a58d81f05b102d01.png!sma

链接帖子
意见的链接
分享到其他网站

这个问题有0个答案

推荐的帖子

此问题没有答案

黑客攻防讨论组

黑客攻防讨论组

    You don't have permission to chat.
    • 最近浏览   0位会员

      • 没有会员查看此页面。
    ×
    ×
    • 创建新的...