社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

如何用Python来入门黑客

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

作者:神楽坂千夜

地址: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