一:使用Hash直接登录Windows,msf中有对应的payload,不过使用条件是对方机器已经开始445端口,以及利用gethash.exe已经获得对方账户的hash值.
二: url跳转漏洞,出现情况:url中本来可以跳转到可信域的网址,但是经用户修改后可以跳转到用户指定的网站,总而容易造成钓鱼攻击。
检测方法:修改正常的url为恶意的url,看是否会任意跳转到自己指定的网站,或者数据包中是否包含了恶意的url
修复方法:
1.referer的限制
确定传递URL参数进入的来源,我们可以通过该方式实现安全限制,保证该URL的有效性,避免恶意用户自己生成跳转链接
2.加入有效性验证Token
我们保证所有生成的链接都是来自于我们可信域的,通过在生成的链接里加入用户不可控的Token对生成的链接进行校验,可以避免用户生成自己的恶意链接从而被利用,但是如果功能本身要求比较开放,可能导致有一定的限制。
3.事先在后台就定义好要跳转到的url,当发生跳转时只需要去搜寻对应url的索引。
4.若跳转的URL事先不确定,但其输入是由后台生成的(不是用户通过参数传人),则可以先生成好跳转链接然后进行签名,而跳转cg首先需要进行验证签名通过才能进行跳转
5.若3和4都不满足,url事先无法确定,只能通过前端参数传入,则必须在跳转的时候对url进行按规则校验:即控制url是否是你们公司授权的白名单或者是符合你们公司规则的url:
function checkURL ( sURL) {
return
(/^(https?://)?[w-.]+.(yourDomainA|yourDomainB|yourDomainC).com($|/|\)/i).test(sUrl)||(/^[w][w/.-_%]+$/i).test(sUrl)||(/^[/\][^/\]/i).test(sUrl)
? true : false;
}
三:DNS域传送漏洞:
DNS服务器通常分为你主DNS服务器,备用DNS服务器以及缓存DNS服务器,备用DNS服务器会与主DNS服务器之间进行域名记录信息的传递(也就是DNS域传送)
如何测试:
工具:nslookup
输入nslookup即可进入其交互模式 1) 使用type参数可以设置记录类型。 2) 使用ls命令,可以列出一个域下面所有的域名
操作基本的步骤是:
1) 输入nslookup命令进入交互式shell
2) Server 命令参数设定查询将要使用的DNS服务器(要测试的dns服务器)
server x.x.x.x 指定一个域名服务器
3) ls命令列出某个域中的所有域名
ls xxx.xx.com 如果存在漏洞则会显示出域名信息
4) Exit命令退出程序
使用dig 发现漏洞:
@指定要使用的域名服务器
四:反序列化漏洞
python或者是php反序列化漏洞都是利用了其中的构造或者是析构函数,在解序列化时会自动执行其中的代码,而违背了只是传输数据的初衷,其实在序列化传输数据时利用json代替就好了。