Javascript 注入攻击
来源:互联网 发布:ieee xplore 数据库 编辑:程序博客网 时间:2024/05/29 16:31
Javascript 注入攻击?
什么是javascript注入攻击呢?其实比较其他的攻击,javascript可能相对简单一些。
每当接受用户输入的内容并重新显示这些内容的时候,网站就容易受到这种攻击。
用asp.net mvc来个简单的例子:
[ValidateInput(false)] public class HomeController : Controller { public string Index(string genre) { //将genre参数原封不动的返回 string result = genre; return result; } public ActionResult About() { return View(); } }这是controller的代码, 一个url请求经过route解析之后,会到对应的action中。
对于这个index方法,不需要call view层面的代码,直接会在页面上将genre这个参数以字符串的方式显示出来。
如果对于正常的url 比如http://localhost:1796/home/index?genre=abc ,那么页面就会显示abc
但是javascript攻击的话,比如url是http://localhost:1796/home/index?genre=<script>window.location='http://baidu.com/'</script>
这里还分两种情况
1,Chrome浏览器下的情况:
表面现象是什么都没有返回,但是打开调试器,会发现有一个页面错误
Refused to execute a JavaScript script. Source code of script found within request.
2. 来看看IE的情况:
尼玛,直接就跳转到baidu页面了, IE,你果然牛X。
其他的浏览器没有实验。
个人判断chrome浏览器的行为是这样的,
1.从server端返回的结果是<script>window.location='http://baidu.com/'</script>
2.浏览器说,我cao,这是一段js代码,我是执行还是不执行呢?
3.不着急,先看看刚才的request是什么, http://localhost:1796/home/index?genre=<script>window.location='http://baidu.com/'</script>
4.chrome浏览器:“尼玛,这是典型的javascript攻击啊,因为匹配reuqest和返回的js代码是一样的”
5.妈的,老子拒绝执行!
这样来意淫一下chrome的执行,觉得chrome还是很聪明的。
PS:实际上asp.net mvc框架还是比较优秀的。
细心的你可能会发现controller的代码里面多了一行[ValidateInput(false)]
目的是屏蔽mvc的校验querystring这块,如果url里面包含<script>这样的东西,http请求就不会达到urlRoute层。
而是被System.Web.HttpRequest率先截获,抛出一个异常
A potentially dangerous Request.QueryString value was detected from the client (genre="<script>
- 阻止 JavaScript 注入攻击
- 阻止 JavaScript 注入攻击
- 阻止javascript注入攻击
- 认识JavaScript注入攻击
- JavaScript 注入攻击
- JavaScript 注入攻击
- JavaScript 注入攻击
- JavaScript 注入攻击
- Javascript 注入攻击
- 防止JavaScript注入攻击
- JavaScript 注入攻击
- JavaScript 注入攻击
- JavaScript 注入攻击
- JavaScript 注入攻击
- Javascript 注入攻击
- JavaScript 注入攻击
- 防止JavaScript注入攻击
- javascript注入攻击为什么厉害
- 从零单排15
- 第八次上机报告
- get memory corruptions earlier
- System Verilog的概念以及与verilog的对比
- 面向对象软件设计原则之软件实体的设计原则
- Javascript 注入攻击
- VNC配置
- Java栈与堆
- web_find()和web_reg_find()详解
- Container With Most Water
- 第八次上机实验
- JAVA使用XFire开发Web Service客户端几种调用方式
- c#不可忍受之慢——谁是罪魁祸首
- Memcached个人熟悉全过程