[网站安全] [实战分享]WEB漏洞挖掘的一些经验分享
WEB漏洞有很多种,比如SQL注入,比如XSS,比如文件包含,比如越权访问查看,比如目录遍历等等等等,漏洞带来的危害有很多,信息泄露,文件上传到GETSHELL,一直到内网渗透,这里我想分享的最主要的是SQL注入,因为尽管过去了很多年,SQL注入依然是现在最大的一个问题,我们打开wooyun,看看已经注册的乌云厂商,其中能看到厂商漏洞分布的一个饼状图,其中占领面积最大的就是SQL注入,那么SQL注入带来的危害有很多了,比如最后的GETSHELL,比如百万级用户信息泄露的基础都是SQL注入,我接触WEB漏洞挖掘的时间也不长,大概从今年5月份开始研究,所以只是分享这半年时间的一些经验,谈不上教学。

那些年我用到的一些好用的工具
sqlmap,第一个要说的就是神器sqlmap,之所以好用,第一点就是它是开源的,能自己添加payload修改payload,当然,得有一定的python基础,这里我顺道要强烈推荐一下《python黑帽子》这本书,非常适合刚刚接触python的朋友们,而且sqlmap非常智能,测试种类特别多,具体的使用方法我就不说了,网上一搜一大堆。
AWVS,其实现在扫描目录的工具有很多,nikto也很不错只不过是linux下的,kali中使用nikto也不错,AWVS是一个扫描目录的工具,其实我现在用到它也不是很多,太消耗内存了,不过对于我们更直观的查看目标网站结构有很大的帮助,它也能识别出很多XSS和SQL注入,当然不能全部识别,真正还是得靠自己。
FireFox,一般我做web漏洞的时候要用到firefox浏览器,不得不说,火狐浏览器是专门为白帽子准备的,它的插件实在太强大了!这里我用的比较多的两个插件一个是hackbar,一个是live http headers,hackbar的好处在于可以通过URL构造GET包和POST包,而且能做一些base64的加解密,通过这种方法可以很好的手工测试注入点是否存在,再根据具体情况放到sqlmap里或者自己的payload里跑数据了,live http headers有点像fiddle,它会对于浏览器发出的数据包进行截获,这样很容易帮助我们查看访问一个页面时发出的请求包,也是有助于我们寻找注入点的。
burpsuite,神器中的神器,我们可以通过设置代理,用burpsuite截获数据包,通过修改数据包的内容实现类似于中间人攻击的方法,很多密码重置漏洞,撞库,甚至getshell都是用它完成的,这里我多撤一点,比如密码重置漏洞,是利用burpsuite把用户名A修改成用户名B,从而达到本来是想重置用户名A的密码,而改成了重置用户名B的密码,这样就能登录用户名B了,比如撞库,现在很多的撞库事件或者某某系统或后台弱口令都可用burpsuite做到,只要你握有一定量的用户名密码字典。
那些年我愁于寻找的注入点
无论对谁来说,注入点是最难寻找的,很多人都说到google hack或者别的什么,很多入门级的教程都说直接baidu inurl:asp?id=,其实这只是注入的一种形式,常规的注入就是GET注入和POST注入,当然,还有很多猥琐的Cookie注入,referer注入,总之就是HTTP HEADER注入,这些都是SQL注入的基础,仍然是网上一搜一大堆,这里不做赘述,我来讲一下我是如何寻找注入点的,首先每个人目标的选定都不太同,比如有的人可能是因为这个银行员工的服务态度不好,我就想搞它们,比如有的人想单纯的搞破坏,比如我是根据补天的活动或者注册厂商来弄,这样能得到更多的奖励等等,首先我们选定了一个目标网站后要对这个网站整体结构有一定的认识,比如访问一些链接观察URL,现在越来越多的网站使用的是静态页面,形如 www.xxoo.com/item/131.html的格式,而有些还是动态URL请求,比如www.xxoo.com/item.asp?id=2,那么我们就可以从GET请求开始做测试了。
不放过任何一个细节
其实现在网站的防护越来越好,而且就算是动态请求的页面,也有可能因为一些php防护,比如replace或者intval之类的方法导致无法注入,但这不是关键,百密总有一疏,如果你能去sebug看那里的通用型漏洞的分析的话,你就能看到一个asp或者php页面里总有参数没有得到过滤,或者如果你去wooyun看那些安全狗的bypass的话,总有一些方法能绕过,这里要说的就是不放过任何一个细节,一个页面请求里,会有不止一个数据包,当前URL的GET包或许不存在SQL注入,但其中的一些GET请求,就很有可能存在SQL注入,这需要我们使用Live http header来获取一个页面请求的所有数据包,再一个一个试。
不仅如此,一个静态页面也有可能存在sql注入,一般我们管这个叫伪静态页面,也就是形如www.xxoo.com/item/133,这样的URL看上去是一个静态页面,但实际上它仍然是一个动态请求的过程,会利用item=133这个方法去动态请求页面中的内容。
还有就是POST数据,这里要专门提到经常出现漏洞的位置,首当其中的就是登陆框,其次还有搜索框,还有各种订阅,查询的信息,跟查询相关的登陆框都可以做SQL注入的尝试。
关于数据返回,绝大多数人看到输入单引号报错的时候都很兴奋,但有些人看到单引号后页面没有报错信息就放过了,其实不要放弃,盲注就是为没有回显的注入存在的,所以说任何一个细节都不要放过,比如在http header中的各种参数,去测试,总会有惊喜。
那些年我专注的Bypass
当你找到一个注入点,就要面临bypass了,有些网站利用建站程序搭建,或者部署了360或者安全狗,一般测试的人看到被拦截就放弃了,其实如果网站管理者没有及时更新防护程序的话,是可以使用各种方法绕过的,绕过方法最好自己测,这也是不推荐直接用工具的原因,我们要了解为什么会被拦截,是单引号引起的?逗号引起的?还是union,select等等引起的?然后根据具体的情况,这里最好巧用到以前的案例,根据案例中的漏洞注入方法,来构造自己的bypass。
最后要说web漏洞挖掘要有信息,越大的网站漏洞价值越大,难度也越大,所需的时间也越大,还有就是多看别人的漏洞,wooyun是个绝佳的平台,很多公开漏洞的细节都值得每个人学习,经常会有各种猥琐的方法,绝对安全的网站是不存在的,哪怕是BAT3,都一定有漏洞存在。
祝大家挖洞愉快,欢迎交流!
原文链接:http://bbs.ichunqiu.com/thread-1713-1-1.html
[网站安全] [实战分享]WEB漏洞挖掘的一些经验分享的更多相关文章
- ref:【干货分享】PHP漏洞挖掘——进阶篇
ref:http://blog.nsfocus.net/php-vulnerability-mining/ [干货分享]PHP漏洞挖掘——进阶篇 王陶然 从常见的PHP风险点告诉你如何进行PH ...
- WEB漏洞挖掘技术总结
漏洞挖掘技术一直是网络攻击者最感兴趣的问题,漏洞挖掘的范围也在随着技术的提升而有所变化.在前期针对缓冲区溢出.格式化字符串.堆溢出.lib库溢出等技术都是针对ELF文件(Linux可执行文件)或者PE ...
- Web漏洞挖掘之网络信息探测
我们在搜集目标系统信息的时候主要需要搜集的是:目标服务器系统信息(IP,服务器所用系统等):目标网站子域名:目标网站(服务器)的开放端口:目标域名信息.目标网站内容管理系统(CMS)等. 一.子域名搜 ...
- php漏洞挖掘书籍
PHP是一种被广泛使用的脚本语言,尤其适合web开发.具有跨平台,容易学习,功能强大等特点,据统计全世界超过34%的网站有php的应用,包括Yahoo.sina.163.sohu等大型门户网站.而且很 ...
- 黑客攻防技术宝典Web实战篇(二)工具篇DVWA Web漏洞学习
DVWA是一个学习Web漏洞的很好的工具. DVWA全程是Damn Vulnerable Web Application,还有一个跟它一样好的工具尽在http://www.360doc.com/con ...
- Java爬虫_资源网站爬取实战
对 http://bestcbooks.com/ 这个网站的书籍进行爬取 (爬取资源分享在结尾) 下面是通过一个URL获得其对应网页源码的方法 传入一个 url 返回其源码 (获得源码后,对源码进 ...
- 网站性能优化实战——从12.67s到1.06s的故事
文章摘自https://juejin.im/post/5b0b7d74518825158e173a0c 作为互联网项目,最重要的便是用户体验.在举国“互联网+”的热潮中,用户至上也已经被大多数企业所接 ...
- WEB安全漏洞挖掘向入坑指北
这个指北不会给出太多的网站和方向建议,因为博主相信读者能够从一个点从而了解全局,初期的时候就丢一大堆安全网址导航只会浇灭人的热情,而且我也不适合传道授业解惑hhh 安全论坛: 先知社区 freebuf ...
- [saiku] 源码整合[maven整合]
saiku源码的整合分为[普通web项目整合]和[maven整合]两种 本节主要是讲解如何整合为maven项目 转载自:http://blog.csdn.net/gsying1474/article/ ...
随机推荐
- google auth
思路: secret 系统生成的密钥 把密钥分配给某个用户,用户可以把这个密钥加入到app中,app会1min生成一个code: 验证时,根据用户的 secret ,系统生成一个code,再比较用户输 ...
- php PDO操作类
<?php /*//pdo连接信息 $pdo=array("mysql:host=localhost;dbname=demo;charset=utf8","root ...
- 使用Dede破解Delphi软件实战
昨日练习了一把如何破解Delphi软件.下面和大家分享一下破解的过程,对初学者,希望有授之以渔的作用. 首先分析我们的目标软件,不要问我破解的是什么软件.保护知识产权,要从娃娃抓取. 目标软件是一个销 ...
- ARP(Adress Resolution Protocol): 地址解析协议
地址解析协议(Address Resolution Protoclol),其基本功能为通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利.它是IPV4中网络层必不可少的协议.不过在IP ...
- 第98天:CSS3中transform变换详解
transform变换详解 本文主要介绍变形transform. Transform字面上就是变形,改变的意思.在CSS3中transform主要包括以下几种:旋转rotate.扭曲skew.缩放sc ...
- WPF中Image控件的Source属性的设置
1.直接关联到文件,关联后不能删除此图片,因为图片正在使用. imageEditImage.Source = new BitmapImage(new Uri(strImagePath, UriKind ...
- Web模块:spring-boot-starter-web
spring-boot-autoconfigure-1.5.1.RELEASE.jar!/org/springframework/boot/autoconfigure/web 上述jar的web包下, ...
- hbase快速入门
hbase 是什么? Apache HBase is an open-source, distributed, versioned, non-relational database modeled a ...
- 【刷题】BZOJ 2260 商店购物
Description Grant是一个个体户老板,他经营的小店因为其丰富的优惠方案深受附近居民的青睐,生意红火.小店的优惠方案十分简单有趣.Grant规定:在一次消费过程中,如果您在本店购买了精制油 ...
- 【BZOJ4568】幸运数字(线性基,树链剖分,ST表)
[BZOJ4568]幸运数字(线性基,树链剖分,ST表) 题面 BZOJ Description A 国共有 n 座城市,这些城市由 n-1 条道路相连,使得任意两座城市可以互达,且路径唯一.每座城市 ...