2021-08-09 03:03:51
Web应用因涉及动态服务器处理且开发者安全意识参差不齐,常见安全漏洞包括SQL注入、XSS攻击、CSRF攻击、文件上传漏洞及URL跳转漏洞,其测试方法需结合漏洞原理针对性设计。具体漏洞及测试方法如下:
一、SQL注入在查询页面输入正确查询条件 and 1=1,若返回结果与正常查询一致,说明未过滤用户输入,存在注入风险。
进一步测试可尝试正确查询条件 and 1=2,若返回异常(如无结果),则确认漏洞存在。
存储型XSS:恶意脚本存储在服务器(如数据库),用户访问页面时触发。
反射型XSS:恶意脚本通过URL参数或表单提交,服务器反射回浏览器执行。
DOM型XSS:通过修改页面DOM节点执行脚本,无需服务器参与。
在数据输入界面输入<script>alert('XSS')</script>,若保存后弹出对话框,说明存在存储型XSS。
修改URL参数为?param=<script>alert('XSS')</script>,若页面弹出对话框,说明存在反射型XSS。

同一浏览器打开两个页面,若一个页面权限失效后另一个页面仍可操作成功,说明存在CSRF风险。
使用工具发送请求时,在HTTP头中移除Referer字段,若返回错误界面或登录界面,说明防护有效;否则存在漏洞。
检查文件上传功能是否限制文件类型(如仅允许.jpg、.png),尝试上传.php文件,若成功则存在漏洞。
验证目录执行权限:通过浏览器访问服务器目录,若返回目录结构而非403错误,说明目录可执行,存在安全风险。
使用抓包工具(如Burp Suite)捕获302跳转请求,修改目标URL为恶意地址(如
注意:部分网站通过Referer校验防御跳转,需结合具体场景测试。
Web安全漏洞的测试需结合漏洞原理,通过输入异常数据、修改请求参数、验证权限控制等方式进行。开发者应遵循安全编码规范(如输入过滤、参数化查询、CSRF Token验证),并定期进行安全测试(如渗透测试、代码审计),以降低风险。