渗透测试初体验
-----以博客记录我的渗透笔记
0X01 什么是渗透测试?
我的理解是:模拟黑客对网站或者服务器进行攻击,取得某些权限,继而深入到内网,获取敏感数据。
详细定义可参考百度百科:渗透测试定义
分类:
- 白盒测试
- 黑盒测试
- 灰盒测试
(具体是什么含义自己百度)
重要提醒:
在渗透测试之前,应该先获得网站和服务器的授权,否则进行的渗透测试是不合法的,如果对网站和服务器造成一定的影响,那么个人是要承担责任的。 所以渗透测试应该在授权的情况下进行,不要为了炫耀自己的能力而被查水表。
0X02 为什么要进行渗透测试?
百度百科举了个例子:当你修好一座金库,肯定不会立马把贵重的物品放进去,而是会先检测金库的安全性,保证贵重物品放里面是安全的,是可靠的,而不是漏洞百出任人摆布!
渗透测试,目的就是为了检测网站和服务器的安全性,如果网站不安全被黑客利用,那么谁还敢用那个网站呢?
渗透测试的目的就是为了找出网站的漏洞并进行修复,从而能够让用户信任并继续使用!
0X03 渗透测试流程
- 准备阶段:确定目标以及人员,日期等
- 信息收集阶段:收集网站所有有用信息
- 渗透测试阶段:找到漏洞并进行利用
- 分析阶段:分析漏洞的原因并给出漏洞修复的方法
- 攥写报告:整理渗透测试数据,完成渗透测试报告
不过:
每个人的渗透测试过程不太一样,思路也不一样,但最终的目的都是一样的,那就是找到网站的漏洞,然后利用漏洞获得权限和敏感数据。
个人的渗透流程:
收集网站信息
- ip
- whois
- 端口扫描
- 二级域名(推荐个爆破二级域名脚本,很好用:subDomainBrute.py)
- 服务器,数据库,操作系统,开启的服务等
漏洞扫描
- 利用找到的网站信息对网站进行初步测试
- 对网站利用工具进行扫描(感觉WVS最好用,就是慢,其他的工具如Safe3,Webcruiser,Jsky也比较好用,感兴趣自己可以去试试)
- 手工测试网站是否存在漏洞
漏洞利用
- 对扫到的或者手工找到的漏洞进行利用,进一步提权。
总结
- 对渗透的过程作一个总结和思考
0X04 谈谈SQL注入
比较菜,目前只能挖一些SQL注入漏洞和逻辑漏洞,其他的方向还有待慢慢跟进。
在乌云,补天混了近两个月,提交的大多都是SQL注入漏洞,我就说说自己对SQL漏洞的挖掘。
SQL注入:所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。(参考百度百科)
一般是手工测试网站的动态页面,其次是找网站的输入框,在挖洞过程中遇到很多都是输入框没有过滤导致注入成功,所以应该掌握。
利用sql注入工具对注入点进行利用,至于注入工具,我比较好用的有:
- Sqlmap (这个绝对是神器,一直在用,却觉得自己还是不会用,太强大了)
- Pangolin (挺好用的)
- Havij(也还行,但是自己用觉得效果不咋地)
- 啊D
- 明小子
作为渗透测试人员,这些工具应该是必备的。
今天先到这儿吧
说明:以上仅是个人意见 ,如有不对敬请指正,谢谢^_^!