[网站安全] [实战分享]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/ ...
随机推荐
- 虚拟机中安装 centOS,本地安装 SSH 连接 - 02
先进入 centOS 中,查询虚拟机的 IP 地址: 双击打开 SSH 可视化客户端: 点击 Connect 需要输入之前那个[无论如何都要使用]的密码. 密码在[centOS - 01]里面设置过, ...
- asp.net下使用Cookie保存登录信息
在网页中登录窗口是最常见的,如果把登录信息存在客户机Cookie中,下次用户登录时,网页先在客户机上查找登录信息,如果成功即可跳过登录步骤直接到主窗口,如登录界面如下:
- bzoj2301-Problem b
题意 \(T\le 5\times 10^4\) 次询问,每次询问 \(a,b,c,d,k\le 5\times 10^4\),求 \[ \sum _{i=a}^b\sum _{j=c}^d[gcd( ...
- 洛谷 P2951 [USACO09OPEN]捉迷藏Hide and Seek
题目戳 题目描述 Bessie is playing hide and seek (a game in which a number of players hide and a single play ...
- Django文字教程
user-----URL对应关系-------视图函数def func1()-------------- 函数给用户返回的实质上就是一个字符串,过程:通过open函数打开HTML,把HTML读到内存中 ...
- [AT2148] [arc063_c] Integers on a Tree
题目链接 AtCoder:https://arc063.contest.atcoder.jp/tasks/arc063_c 洛谷:https://www.luogu.org/problemnew/sh ...
- 【UOJ#188】Sanrd(min_25筛)
[UOJ#188]Sanrd(min_25筛) 题面 UOJ 题解 今天菊开讲的题目.(千古神犇陈菊开,扑通扑通跪下来) 题目要求的就是所有数的次大质因子的和. 这个部分和\(min\_25\)筛中枚 ...
- 【BZOJ3242】【NOI2013】快餐店(动态规划)
[BZOJ3242][NOI2013]快餐店(动态规划) 题面 BZOJ 题解 假设我们要做的是一棵树,那么答案显然是树的直径的一半. 证明? 假设树的直径是\(2d\),那么此时最远点的距离是\(d ...
- linux 操作swap分区
Swap是Linux下的交换分区,类似Windows的虚拟内存,当物理内存不足时,系统可把一些内存中不常用到的程序放入Swap,解决物理内存不足的情况. 若系统安装时开辟的Swap空间太小,可通过手动 ...
- 【bzoj1029】【JSOI2007】建筑抢修
1029: [JSOI2007]建筑抢修 Time Limit: 4 Sec Memory Limit: 162 MBSubmit: 6417 Solved: 2883[Submit][Statu ...