热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

道2——未知攻,焉知防

无论是在甲方公司还是乙方公司,对于安全工程师,渗透测试能力和应急响应能力都是必不可少的。而在应急响应过程中,以解决实际为导向的编程语言——Python,更是信息安全从业者必备四大编程语言之一。因

无论是在甲方公司还是乙方公司,对于安全工程师,渗透测试能力和应急响应能力都是必不可少的。而在应急响应过程中,以解决实际为导向的编程语言——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.3from mitmproxy.tools.main import mitmdumpmitmdump()


#encoding:utf-8
#switchVisit.py不断切换本机host并访问passport登陆页面
#python3.5.3import osfrom selenium import webdriverimport timeimport 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)  # intprofile.update_preferences()ffbrowser=webdriver.Firefox(firefox_profile=profile)#切换hostdef 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:        passif __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)




推荐阅读
  • 本文回顾了作者在求职阿里和腾讯实习生过程中,从最初的迷茫到最后成功获得Offer的心路历程。文中不仅分享了个人的面试经历,还提供了宝贵的面试准备建议和技巧。 ... [详细]
  • Python3爬虫入门:pyspider的基本使用[python爬虫入门]
    Python学习网有大量免费的Python入门教程,欢迎大家来学习。本文主要通过爬取去哪儿网的旅游攻略来给大家介绍pyspid ... [详细]
  • 阿里云 Aliplayer高级功能介绍(八):安全播放
    如何保障视频内容的安全,不被盗链、非法下载和传播,阿里云视频点播已经有一套完善的机 ... [详细]
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • 技术分享:使用 Flask、AngularJS 和 Jinja2 构建高效前后端交互系统
    技术分享:使用 Flask、AngularJS 和 Jinja2 构建高效前后端交互系统 ... [详细]
  • 本文提供了一个详尽的前端开发资源列表,涵盖了从基础入门到高级应用的各个方面,包括HTML5、CSS3、JavaScript框架及库、移动开发、API接口、工具与插件等。 ... [详细]
  • 本文探讨了使用Python实现监控信息收集的方法,涵盖从基础的日志记录到复杂的系统运维解决方案,旨在帮助开发者和运维人员提升工作效率。 ... [详细]
  • 深入解析Unity3D游戏开发中的音频播放技术
    在游戏开发中,音频播放是提升玩家沉浸感的关键因素之一。本文将探讨如何在Unity3D中高效地管理和播放不同类型的游戏音频,包括背景音乐和效果音效,并介绍实现这些功能的具体步骤。 ... [详细]
  • 本文探讨了异步编程的发展历程,从最初的AJAX异步回调到现代的Promise、Generator+Co以及Async/Await等技术。文章详细分析了Promise的工作原理及其源码实现,帮助开发者更好地理解和使用这一重要工具。 ... [详细]
  • 本文探讨了利用Python编程语言开发自动化脚本来实现文件的全量和增量备份方法。通过详细分析不同备份策略的特点,文章介绍了如何使用Python标准库中的os和shutil模块来高效地管理和执行备份任务。此外,还提供了示例代码和最佳实践,帮助读者快速掌握自动化备份技术,确保数据的安全性和完整性。 ... [详细]
  • 本文详细介绍如何在忘记MySQL服务器密码的情况下进行密码重置,包括具体的步骤和注意事项。 ... [详细]
  • 直播带货系统中的推流技术详解
    本文介绍了RTMP(实时消息传输协议)及其在直播带货系统中的应用,并详细探讨了带货直播系统的连麦方案,包括服务端合流和客户端合流的优势与劣势。 ... [详细]
  • 在处理大规模数据数组时,优化分页组件对于提高页面加载速度和用户体验至关重要。本文探讨了如何通过高效的分页策略,减少数据渲染的负担,提升应用性能。具体方法包括懒加载、虚拟滚动和数据预取等技术,这些技术能够显著降低内存占用和提升响应速度。通过实际案例分析,展示了这些优化措施的有效性和可行性。 ... [详细]
  • 在配置Nginx的SSL证书后,虽然HTTPS访问能够正常工作,但HTTP请求却会遇到400错误。本文详细解析了这一问题,并提供了Nginx配置的具体示例。此外,还深入探讨了DNS服务器证书、SSL证书的申请与安装流程,以及域名注册、查询方法和CDN加速技术的应用,帮助读者全面了解相关技术细节。 ... [详细]
  • 本文详细介绍了 jQuery 的入门知识与实战应用,首先讲解了如何引入 jQuery 库及入口函数的使用方法,为初学者提供了清晰的操作指南。此外,还深入探讨了 jQuery 在实际项目中的多种应用场景,包括 DOM 操作、事件处理和 AJAX 请求等,帮助读者全面掌握 jQuery 的核心功能与技巧。 ... [详细]
author-avatar
手机用户2602936475
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有