作者:神楽坂千夜
地址: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
近期文章:
9本免费的Python编程书
用 Python 实现打飞机
愉快的迁移Python 3
给Python新手的一道面试题:如何正确读写文件
10行Python代码实现目标检测
wtfPython—Python中一些奇妙的代码
Python爬虫库-Beautiful Soup的使用
秒懂系列 | 史上最简单的Python Django入门教程