Py学习  »  Python

如何用Python来入门黑客

Python网络爬虫与数据挖掘 • 5 年前 • 283 次点击  

作者:神楽坂千夜

地址:https://zhuanlan.zhihu.com/p/26645461


黑客也分很多领域,这里先不讲门槛较高的系统领域的安全【因为我也不会……】,讲下Web下的安全。

首先大喊一句!Python大法好!

零基础的话建议从Python这种语法简单脚本语言入门,Python入门可以看这里。

Python教程,地址:
https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000

简明 Python 教程。地址:
http://www.kuqin.com/abyteofpython_cn/

好的,当你入门Python语法后你可以去阅读那些dalao们写的库,论对一个网站渗透首先应该收集他的信息,因为只有收集一个网站信息才能针对攻击。那么Python爬虫就是一大利器,利用爬虫收集一个网站的架构是非常重要的。首先是大名鼎鼎的Scrapy。scrapy/scrapy,地址:
http://github.com/scrapy/scrapy

当然这里不讲scrapy,因为我比较喜欢用Python3,有请 非转基因的 Python HTTP 库 requests!

Requests: 让 HTTP 服务人类 以及美味汤!Beautiful Soup 4.4.0 文档 ,利用Requests和Beautiful Soup可以爬到一个网站的架构,比如你想识别网站指纹信息,你可以用提取出的文档进行正则表达式匹配,尝试匹配下面Dom节点

"generator" content="Discuz! X3.3" />

又或者可以去尝试访问下网站的robots.txt,查看是否有敏感目录,或者暴露了CMS。

嗅探一个网站的IP时候可以用Ping http://hostname.com 这种方法,或者用nslookup http://hostname.com dns,不过现在大多数使用了CDN,真实IP也不是很好找了。当然这些操作可以集成到你的Python脚本里。IP找完,可以尝试找找开放了哪些端口,在Python脚本里造一个端口List,然后使用secdev/scapy进行发包 FB上有这么一篇文章很不错 [如何用Scapy写一个端口扫描器? 地址:
http://www.freebuf.com/sectool/94507.html

最后Requests.headers里可以在响应包里找到Server名字。做完了这些你想找下网站的后台路径,又或者你找到了登入点想爆破他但苦于没有字典,看这里 rootphantomer/Blasting_dictionary 地址:
http://github.com/rootphantomer/Blasting_dictionary

Requests就可以做到,记得要用Proxies选项。

说到黑客你第一联想是什么,大概就是DDos吧【《破坏之王ddos攻击与防范深度剖析》】感觉电视报道老是有这个名词。你会使用Requests疯狂进行Sql查询请求,你会使用Scapy库进行Syn泛洪攻击,但你总感觉少了点什么。

没错作为黑客掌握TCP/IP协议是非常重要的 《TCP/IP详解 卷一》, 当然我承认这本书有些枯燥,所以我们使用Wireshark配合食用,一边分析一边学习。

关于那本HTTP圣经实在太厚了,以后说不准你还会当砖头敲人:) 所以我推荐了解Http协议看这本 《图解http》当然你有兴趣的话看下《CCNA学习指南》也是很好的。

关于嗅探方面其实前人早就写出了超强的工具,比如Nmap,Whatweb,知道创宇的ZoomEye也是非常厉害的工具,有兴趣可以自己找资料学习。

这里要讲下为什么渗透前要收集信息,一个网站可以由很多模块组成,假如一个模块出现了漏洞,那么整个系统就会遭殃,毕竟通往权限的路不止一条[括弧笑],如果这个网站的服务器版本过老,那么你可以用网上存在的0day攻击,分分钟教他做人,其他模块同理。

你甚至可以模拟一个网站的搭建环境,自己本地测试 【过多请求人家直接ban了你,你也就干瞪眼了23333】

接下来讲下OWASP几个高危问题吧,Sql注入,以前非常l普通的高危漏洞,现在基本没啥了。我认为原理在于输入点,未净化用户输入的内容,将数据以命令的方式进行执行,简单来说你就在一个输入点不停执行sql查询命令,把这个网站什么用户信息,什么密码都给倒出来。Sqlmap应该是sql注入最强大的工具了,网上有很多食用资料。

Github有源码可以自己阅读,学习payload sqlmapproject/sqlmap ,看完怕不是通杀Sql注入漏洞。当然你也可以写个Python脚本自己简单检测下网站是否存在sql注入,然后用sqlmapapi进行批量执行。

XSS,关于这个需要有一定的javascript基础,推荐看 《javascript dom编程艺术》,我认为,xss也是对输入点未净化造成的,比如

<input value="你可以控制的地方" />

这个地方value是你可以控制闭合的。前提是未过滤,这样你就可以腾出来空间执行自己脚本,当然xss这玩意姿势很多,我一个菜鸟就不献丑了,推荐这里 华西安全网—wooyun漏洞报告平台搜索—乌云WooYun镜像站 作者良心啊!

长短短在Github上分享了他的xss思路图,我不知道能不能贴出来就先不贴了……

至于其他类似逻辑漏洞和路径遍历等等漏洞,一会在下面列出的书去学习吧 :)

说下工具吧,sql注入的神器 Sqlmap,收发包神器Burpsuite,

其实安装个kali linux比较方便,集成了很多安全工具,更有Metasploit大名鼎鼎的渗透框架。

linux学习肯定是必要的,当然初期我认为能使用常用命令就足够了。《鸟哥linux的私房菜》可以当字典翻阅,没事还能垫枕头,实在不行还能砸人。

当然零基础跟着一本书学习是很好主意。

重点讲了前端安全问题的大作! 《web前端黑客技术揭秘》

能够打开你的任督二脉倚天屠龙之作 《黑客攻防技术宝典 web实战篇》

能让你Python信仰加成的 《Python黑帽子》

你也许想像电影里的黑客那么炫酷的 《Metasploit渗透测试魔鬼训练营》

周末闲暇时光不如来一本 《社会工程:安全体系中的人性漏洞 》

最后一本 《黑客从入门到放弃》:-P

推荐一下Github上有助于新手的项目

We5ter/Scanners-Box 地址
http://github.com/We5ter/Scanners-Box

FreeBuf.COM | 关注黑客与极客  地址:
http://www.freebuf.com/

学习Python和网络爬虫,关注公众号:datanami

近期文章:

  1. 9本免费的Python编程书

  2. 用 Python 实现打飞机

  3. 愉快的迁移Python 3

  4. 给Python新手的一道面试题:如何正确读写文件

  5. 10行Python代码实现目标检测

  6. wtfPython—Python中一些奇妙的代码

  7. Python爬虫库-Beautiful Soup的使用

  8. 秒懂系列 | 史上最简单的Python Django入门教程


今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/pRqpLQ7B4K
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/20937
 
283 次点击