JAVA代码审计2 · 某XXX网络考试系统 2023-09-18 08:39:04 ![](https://image.3001.net/images/20240308/1709876354_65eaa4828e91d155430d9.png) 本文由 创作,已纳入「FreeBuf原创奖励计划」,未授权禁止转载 本次代码审计是在测试环境中进行,已获得相应授权,本文分享代码审计相关操作,切勿应用于不合规行为,网络安全需要大家一起维护。 0x01 存储型XSS漏洞 ------------- 在系统源代码中未配置全局XSS过滤防御措施,存在XSS漏洞。 在注册页面内注册新账号,抓包修改其中的email值为,发包显示注册成功。 ![1695217573_650af7a56b5d50a6c3a14.png?1695217575160](https://image.3001.net/images/20230920/1695217573_650af7a56b5d50a6c3a14.png?1695217575160) ![1694838989_650530cd54e73d9a46fd1.png?1694838989828](https://image.3001.net/images/20230916/1694838989_650530cd54e73d9a46fd1.png?1694838989828) 使用管理员登录后台,在会员管理页面,xss漏洞成功执行,用户的email信息成功改写为script标签。 ![1695217688_650af8181afd1ca2d5923.png?1695217689981](https://image.3001.net/images/20230920/1695217688_650af8181afd1ca2d5923.png?1695217689981) ![1694839019_650530ebf1c1ae858ff19.png?1694839020310](https://image.3001.net/images/20230916/1694839019_650530ebf1c1ae858ff19.png?1694839020310) ![1694839046_65053106d46015c0f9792.png?1694839047228](https://image.3001.net/images/20230916/1694839046_65053106d46015c0f9792.png?1694839047228) 在后台中可以看到user表字段长度最长为40字符,构造payload时需注意减小长度。 ![1694839076_65053124e50d63b072b74.png?1694839077413](https://image.3001.net/images/20230916/1694839076_65053124e50d63b072b74.png?1694839077413) 在注册用户的功能代码中,系统未做任何xss过滤,直接执行数据库添加操作。 ![1694839566_6505330e3ee15e77147ec.png?1694839566713](https://image.3001.net/images/20230916/1694839566_6505330e3ee15e77147ec.png?1694839566713) 0x02 文件上传漏洞 ----------- 在源代码中发现一处上传点需要使用管理员登录,上传路径“/admin/upload-uploadify”,沿着代码逻辑分析,实际的上传操作在FileUploadUtil#uploadFile方法中。 ![1694852641_650566217cbe1159bda77.png?1694852642032](https://image.3001.net/images/20230916/1694852641_650566217cbe1159bda77.png?1694852642032) 在FileUploadUtil#uploadFile方法中未检测上传文件的扩展名,只是限制了文件的生成目录在 ",webapps,files,question," + username + ",tmp" 组成的目录中。 ![1694852795_650566bb1ae346b149192.png?1694852795696](https://image.3001.net/images/20230916/1694852795_650566bb1ae346b149192.png?1694852795696) ![](https://image.3001.net/images/20230916/1694852817_650566d1e17151d355a96.png?1694852818430) \# 漏洞 \# 渗透测试