道2——未知攻,焉知防

无论是在甲方公司还是乙方公司,对于安全工程师,渗透测试能力和应急响应能力都是必不可少的。而在应急响应过程中,以解决实际为导向的编程语言——Python,更是信息安全从业者必备四大编程语言之一。因为Python能够快速验证你的想法,应急其实就是在跟黑客争分夺秒。所以,天下武功,唯快不破。

为什么会有人说“未知攻,焉知防”呢?因为黑客的攻击思路都比较“猥琐”,都是以点进行突破的。如果你刚好有一种攻击手法不了解,那么就没办法防御以这种手法对你进行攻击的黑客。

未知攻,焉知防。也就是我今天要说的《灰帽黑客的渗透测试之道》之道2.

多了解一些安全事件,多关注一些漏洞公告,多学习一些攻击手法,才能做好安全防御。

下面来说下近期遇到的一个安全事件,某宿科技是提供内容分发与CDN加速的公司。他们通常给用户提供几百个

CDN节点,在每个节点上分发缓存的静态资源来达到网络加速,防御DDOS攻击等。但是,当某个CDN节点被劫持后,

凡是当时访问该节点的用户都会遭受攻击。来张图:


当用户在浏览器输入正常的网址,进行登陆时。会被劫持到http://61.160.185.39:8082/,该网址会生成一个js脚本

注入到用户的浏览器中,从而劫持其账户密码。直接在浏览器查看源码是看不到关于8082这个端口的相关链接的,

因为该请求是某个隐藏很深的静态资源触发的。无奈没有这些CDN节点的登陆权限,因此也只能通过外部来测试。


现在我需要模拟Firebug解析出全部的网络请求。不断切换本机host访问该登陆页面。

为了解析这些网络请求,我使用mitmproxy做http代理,用selenium模拟访问。

#encoding:utf-8
#mproxy.py,设置为代理,并dump所有网络请求
#python3.5.3
from mitmproxy.tools.main import mitmdump

mitmdump()


#encoding:utf-8
#switchVisit.py不断切换本机host并访问passport登陆页面
#python3.5.3
import os
from selenium import webdriver
import time
import datetime


#设置HTTP代理
profile=webdriver.FirefoxProfile()
profile.set_preference('network.proxy.type', 1)
profile.set_preference('network.proxy.http', '127.0.0.1')
profile.set_preference('network.proxy.http_port', 8080)  # int
profile.update_preferences()

ffbrowser=webdriver.Firefox(firefox_profile=profile)


#切换host
def SwitchHosts(ip):
    try:
        os.remove(r'C:\WINDOWS\system32\drivers\etc\HOSTS')
    except:
        outfile=open(r'C:\WINDOWS\system32\drivers\etc\HOSTS', "w")
        outfile.close()
    with open(r'C:\WINDOWS\system32\drivers\etc\HOSTS',"w") as f:
        f.write(ip+"\tpassport.xxxxxxx.com")


#访问网站
def VisitWebsite(browser):
    try:
        browser.get("http://passport.xxxxxxx.com")
    except:
        pass

if __name__ =='__main__':
    #cdnnodeip.txt为每行一个cdnip地址
    with open("cdnnodeip.txt",'r') as f:
        for ip in f.readlines():
            ip=ip.strip()
            SwitchHosts(ip)
            print(datetime.datetime.now(),"----",ip)
            VisitWebsite(ffbrowser)
            time.sleep(10)



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MXi4oyu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

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

抵扣说明:

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

余额充值