一,二次注入的工作原理
1. 初始注入
在表单提交、URL参数或Ajax请求中插入 malicious scripts 或 SQL 查询
2. 触发条件
恶意代码或数据被服务器端处理后,存储到数据库或缓存中,或者直接返回给客户端
3. 二次利用
当合法用户访问包含恶意代码的页面时,代码会再次执行。可以通过这种方式实现跨站脚本、点击劫持或其他恶意行为。
二,案例分析
1:XSS二次注入
假设一个Web应用存在 XSS 漏洞
可以在某个表单中注入以下:
<img src="x" onerror="alert('Website Hacked!')">
当其他用户访问包含此代码的页面时,浏览器会执行 alert 提示"Website Hacked!"
2:SQL 二次注入
假设一个Web应用存在 SQL 注入漏洞。
在 URL 参数中注入以下语句:
' UNION SELECT username, password FROM users;