sql注入 js脚本注入 html入侵(自己收集的一些解决方案)欢迎指正
来源:互联网 发布:百度淘宝联盟 编辑:程序博客网 时间:2024/06/05 09:57
sql注入 js脚本注入 html入侵
sql注入简介
通俗的讲,SQL注入就是恶意黑客或者竞争对手利用现有的B/S或者C/S架构的系统,将恶意的SQL语句通过表单等传递给后台SQL数据库引擎执行。比如,一个黑客可以利用网站的漏洞,使用SQL注入的方式取得一个公司网站后台的所有数据。试想一下,如果开发人员不对用户传递过来的输入进行过滤处理,那么遇到恶意用户的时候,并且系统被发现有漏洞的时候,后果将是令人难以想象的。最糟糕的是攻击者拿到了数据库服务器最高级的权限,可以对整个数据库服务器的数据做任何操作。
js脚本注入
JavaScript 中也有一些需要特殊处理的字符,如果直接将它们嵌入 JavaScript 代码中,JavaScript 程序结构将会遭受破坏,甚至被嵌入一些恶意的程序。
html入侵
由于 HTML 网页本身就是一个文本型结构化文档,如果直接将这些包含了 HTML 特殊字符的内容输出到网页中,极有可能破坏整个 HTML 文档的结构。所以,一般情况下需要对动态数据进行转义处理,使用转义序列表示 HTML 特殊字符
解决方案
sql注入解决方案
- **第一种:
使用预编译,在编写底层代码时能使用预编译的时候,一定要选择预编译。 - **第二种:
如果要使用拼接,可以对可能产生sql注入的特殊字符进行转义存储。
public static String decodeSpecialCharsWhenLikeUseBackslash(String content) { // 单引号是oracle字符串的边界,oralce中用2个单引号代表1个单引号 String afterDecode = content.replaceAll("'", "''"); // 由于使用了/作为ESCAPE的转义特殊字符,所以需要对该字符进行转义 // 这里的作用是将"a/a"转成"a//a" afterDecode = afterDecode.replaceAll("/", "//"); // 使用转义字符 /,对oracle特殊字符% 进行转义,只作为普通查询字符,不是模糊匹配 afterDecode = afterDecode.replaceAll("%", "/%"); // 使用转义字符 /,对oracle特殊字符_ 进行转义,只作为普通查询字符,不是模糊匹配 afterDecode = afterDecode.replaceAll("_", "/_"); return afterDecode; }
针对sql的关键词 目前我的做法是使用拦截器,拦截参数,检测内容,不包含关键字允许执行,包含关键字提示重新输入。
- **第三种:
使用框架,很多框架都有防止sql注入的功能,比如mybatis
js注入和html入侵
第一种方式:转义存储,可以参考spring 框架针对这些特殊字符的转义写法,HtmlUtils 和 JavaScriptUtils这个类。并且对一些保留字进行过滤例如”script”,”alert”
第二种方式:在前台对用户输入进行正则表达过滤,有特殊字符的和保留字的一概过滤,重新输入(不太适合实际需求)
收集的一些连接(比较详细)
http://www.tuicool.com/articles/MzIVZf
http://www.imooc.com/article/6137
http://blog.csdn.net/bcqtt/article/details/51670457
- sql注入 js脚本注入 html入侵(自己收集的一些解决方案)欢迎指正
- 收集一些sql注入的经典文章
- 手工SQL注入入侵
- sql注入解决方法的收集
- 专题:SQL注入(收集)
- 脚本入侵 手工注入ASP
- sql依赖注入的解决方案
- 【网站安全】简单的Js脚本攻击sql注入攻击
- 收集一些注入语句
- 收集一些注入语句
- SQL注入网站入侵实例
- SQL注入网站入侵实例
- SQL 注入入侵网站原理
- SQL 注入入侵网站原理
- 标准SQL注入入侵语句
- 标准SQL注入入侵语句
- sql注入的一些整理
- 网站防止注入入侵的一些有效代码和方法
- Hive 的安装
- 作用域public,private,protected,以及不写时的区别
- 洛谷 P1781 宇宙总统
- 无刷新分页展示
- 工具下好了,tomcat服务器下载及配置
- sql注入 js脚本注入 html入侵(自己收集的一些解决方案)欢迎指正
- Day 03 POST&GET&request&response
- MQTT简介
- C 清空文件缓冲区
- BZOJ2594: [Wc2006]水管局长数据加强版
- 除数为2的N次方取模可以用与运算替代,效率更高
- JSONObject
- c++ 自加或自减 的运算符重载
- Android7.1关机充电启动流程及LED状态更新