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

<ignore_js_op>

那些年我用到的一些好用的工具
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漏洞挖掘的一些经验分享的更多相关文章

  1. ref:【干货分享】PHP漏洞挖掘——进阶篇

    ref:http://blog.nsfocus.net/php-vulnerability-mining/ [干货分享]PHP漏洞挖掘——进阶篇 王陶然     从常见的PHP风险点告诉你如何进行PH ...

  2. WEB漏洞挖掘技术总结

    漏洞挖掘技术一直是网络攻击者最感兴趣的问题,漏洞挖掘的范围也在随着技术的提升而有所变化.在前期针对缓冲区溢出.格式化字符串.堆溢出.lib库溢出等技术都是针对ELF文件(Linux可执行文件)或者PE ...

  3. Web漏洞挖掘之网络信息探测

    我们在搜集目标系统信息的时候主要需要搜集的是:目标服务器系统信息(IP,服务器所用系统等):目标网站子域名:目标网站(服务器)的开放端口:目标域名信息.目标网站内容管理系统(CMS)等. 一.子域名搜 ...

  4. php漏洞挖掘书籍

    PHP是一种被广泛使用的脚本语言,尤其适合web开发.具有跨平台,容易学习,功能强大等特点,据统计全世界超过34%的网站有php的应用,包括Yahoo.sina.163.sohu等大型门户网站.而且很 ...

  5. 黑客攻防技术宝典Web实战篇(二)工具篇DVWA Web漏洞学习

    DVWA是一个学习Web漏洞的很好的工具. DVWA全程是Damn Vulnerable Web Application,还有一个跟它一样好的工具尽在http://www.360doc.com/con ...

  6. Java爬虫_资源网站爬取实战

    对 http://bestcbooks.com/  这个网站的书籍进行爬取 (爬取资源分享在结尾) 下面是通过一个URL获得其对应网页源码的方法 传入一个 url  返回其源码 (获得源码后,对源码进 ...

  7. 网站性能优化实战——从12.67s到1.06s的故事

    文章摘自https://juejin.im/post/5b0b7d74518825158e173a0c 作为互联网项目,最重要的便是用户体验.在举国“互联网+”的热潮中,用户至上也已经被大多数企业所接 ...

  8. WEB安全漏洞挖掘向入坑指北

    这个指北不会给出太多的网站和方向建议,因为博主相信读者能够从一个点从而了解全局,初期的时候就丢一大堆安全网址导航只会浇灭人的热情,而且我也不适合传道授业解惑hhh 安全论坛: 先知社区 freebuf ...

  9. [saiku] 源码整合[maven整合]

    saiku源码的整合分为[普通web项目整合]和[maven整合]两种 本节主要是讲解如何整合为maven项目 转载自:http://blog.csdn.net/gsying1474/article/ ...

随机推荐

  1. webgl glsl

    GLSL是什么? GLSL是运行在GPU上的着色器语言 GLSL有自己的语法,跟js有些不同. GLSL是一个强类型的语言,所以在写着器语言时,必须要用强类型,强类型,强类型,强类型 GLSL是着色器 ...

  2. TCP建立连接与释放连接过程中的几个问题

    TCP为何采用三次握手来建立连接,若采用两次握手可以吗,请说明理由? 不可以.采用三次握手是为了防止失效的连接请求报文段突然又传送到服务器,从而发生错误.当客户端发出的连接请求报文段由于某些原因没有及 ...

  3. 第161天:CSS3实现兼容性的渐变背景(gradient)效果

    CSS实现兼容性的渐变背景(gradient)效果 一.有点俗态的开场白 在对CSS3支持日趋完善的今天,实现兼容性的渐变背景效果已经完全成为可能,本文就将展示如何实现兼容性的渐变背景效果.在众多的浏 ...

  4. 【bzoj2402】陶陶的难题II 分数规划+树链剖分+线段树+STL-vector+凸包+二分

    题目描述 输入 第一行包含一个正整数N,表示树中结点的个数.第二行包含N个正实数,第i个数表示xi (1<=xi<=10^5).第三行包含N个正实数,第i个数表示yi (1<=yi& ...

  5. Android四大组件之Intent

    Intent不是android几大组件框架,但是确实是android 各大组件之间沟通的桥梁. 尤其Intent对于activity有很大的关系. 一下是我个人对task以及backstack的总结.

  6. 【刷题】HDU 6184 Counting Stars

    Problem Description Little A is an astronomy lover, and he has found that the sky was so beautiful! ...

  7. Alpha 冲刺 —— 十分之二

    队名 火箭少男100 组长博客 林燊大哥 作业博客 Alpha 冲鸭鸭! 成员冲刺阶段情况 林燊(组长) 过去两天完成了哪些任务 协调各成员之间的工作 协助前端界面的开发 搭建测试用服务器的环境 完成 ...

  8. 在make php-5.5.5时提示没有X11/xpm.h,怎么解决!

    yum install libXpm-devel在查询他的安装位置:#rpm -ql libXpm-devel/usr/bin/cxpm/usr/bin/sxpm/usr/include/X11/xp ...

  9. 解题:SCOI 2008 天平

    题面 我们很容易想到差分约束,但是我们建出来图之后好像并不好下手,因为我们只能得到砝码间的大小关系,并不能容易地得到每个砝码的具体重量. 于是我们有了一种神奇的思路:既然得不到具体重量我们就不求具体重 ...

  10. struts2初探(一)

    首先需要了解Struts2框架的运行过程: request从发送到服务器,即tomcat,然后tomcat参考web.xml,发现所有的url都需要经过struts2的过滤, Struts2调用dof ...