SQL注入渗透实战讲解、XSS漏洞怎么被利用
@ 查【 开房记录、手机定位 】查 @
@ 查【 外卖地址、聊天记录 】查 @
在Web渗透测试中,SQL注入和XSS(跨站脚本攻击)是最核心、最常见的两类漏洞。下面为你详细讲解这两者的实战思路与利用方式。

一、 SQL注入渗透实战讲解
SQL注入的核心思想是在用户输入的数据中插入恶意的SQL代码,从而改变原有的SQL查询语句,达到非法获取、篡改或删除数据的目的。在实战中,通常遵循以下标准化流程:
1. 判断注入点及类型
首先通过输入单引号(')观察页面是否报错,或者使用布尔逻辑(如 and 1=1 与 and 1=2)对比页面响应差异来判断漏洞是否存在。若 1=1 正常而 1=2 异常,且需要闭合引号,则为字符型注入;若无需闭合引号直接生效,则为数字型注入。
2. 猜解字段数与确定显位
使用 ORDER BY 语句(如 order by 1#, order by 2#)递增测试,当页面报错时,前一数值即为查询的字段总数。随后构造 UNION SELECT 语句(如 -1' union select 1,2#),页面返回数字的位置即为后续注入数据的回显位。
3. 获取数据库敏感信息
利用回显位,结合 database()、version() 等函数获取当前数据库名和版本。接着查询 information_schema 库,获取目标数据库的表名及字段名,最终直接查询目标表(如 users)获取账号及密码等敏感数据。
4. 应对不同场景的注入技术
实战中页面往往不会直接回显数据,需要根据反馈采取不同策略:
* 报错注入:当页面显示SQL错误信息时,使用 extractvalue() 或 updatexml() 等函数,将查询结果通过报错信息回显。
* 布尔盲注:页面无报错且回显内容随真假条件变化时,使用 ascii()、substr() 函数逐字符猜测数据。
* 时间盲注:当页面无任何反馈时,使用 sleep()、if() 函数,根据响应时间的延迟来判断数据真假,这是渗透测试最后的兜底手段。
5. 自动化工具利用
为了提高效率,实战中常使用 sqlmap 等自动化工具。通过指定目标URL和Cookie,工具可自动检测注入点并枚举数据库、表及导出数据。若遇到WAF(Web应用防火墙)拦截,还可编写自定义Tamper脚本(如将空格替换为 %09,或使用双写绕过 uniunionon)来绕过过滤。
二、 XSS漏洞怎么被利用
XSS(跨站脚本攻击)是一种客户端代码注入攻击,攻击者将恶意脚本注入到看似合法的网站中,当其他用户访问时,脚本会在其浏览器中执行。XSS主要分为反射型、存储型和DOM型,其中存储型XSS危害最高。其常见利用方式包括:
1. 会话劫持(窃取Cookie)
这是最传统的利用方式。攻击者通过注入恶意脚本(如利用 <script> 或 <img> 标签的 onerror 事件),将受害者的 document.cookie 发送至攻击者控制的服务器。攻击者获取到Cookie后,即可在本地浏览器中替换该Cookie,从而伪装成受害者(如管理员)登录系统。
2. 钓鱼攻击与密码捕获
攻击者利用XSS在页面中动态插入伪造的登录框,或修改页面内容诱导用户输入敏感信息。此外,针对使用密码管理器的用户,攻击者可以注入脚本读取浏览器自动填充的密码,并将其发送到外部服务器,这甚至能获取到用户在其他网站复用的密码。
3. 页面篡改与蠕虫式传播
利用 document.write() 等方法直接修改受害者看到的页面内容。在社交平台或论坛等场景下,恶意脚本还可以结合社交功能,自动在受害者的社交关系链中发布含恶意链接的内容,形成链式传播(即XSS蠕虫)。
4. 权限提升与绕过CSRF防护
由于XSS允许攻击者在受害者浏览器中执行任意JavaScript,因此可以执行受害者能做的任何操作。例如,利用窃取的凭证或绕过CSRF Token保护,以管理员身份执行删除数据、添加恶意用户、修改邮箱等高危越权操作。
5. 键盘记录与内网探测
注入脚本监听用户的键盘输入事件(keydown),实时记录并回传账号密码等敏感信息。此外,由于浏览器允许发起跨域请求,攻击者还可以利用XSS作为跳板,扫描目标所在内网的IP和端口,将结果回传,实现内网资产探测。
了解了SQL注入和XSS的原理与利用后,你想继续了解这些漏洞的防御修复方案,还是想看看其他高频漏洞(如文件上传、CSRF)的实战讲解?
@ 查【 开房记录、手机定位 】查 @
@ 查【 外卖地址、聊天记录 】查 @
