JavaScript数据安全实战!攻击与防范

简介: <p>最近虽说到了考试周了,但还是忍不住会编一些程序,最近再看《JavaScript王者归来》一书,以前我就知道JavaScript这门语言十分的神奇,虽说直接用jquery来做应用比较简单,但是想完完整整了解这个语言的特性我还是差的太远了,不废话了,推荐大家都看看这本书。</p> <p>利用JavaScript的常见攻击有以下几种:</p> <p>1.伪造表单提交目的地,从而窃取数据

最近虽说到了考试周了,但还是忍不住会编一些程序,最近再看《JavaScript王者归来》一书,以前我就知道JavaScript这门语言十分的神奇,虽说直接用jquery来做应用比较简单,但是想完完整整了解这个语言的特性我还是差的太远了,不废话了,推荐大家都看看这本书。

利用JavaScript的常见攻击有以下几种:

1.伪造表单提交目的地,从而窃取数据

解释:HTML表单的提交由form的action属性决定,而JavaScript具备从客户端修改form的action能力

有一个简单的页面有如下一个表单:

<form actioni="a.action" name="myForm">
<input type="text" name="data" value="aa"/>
<input type="submit"/>
</form>
破解方法:

在浏览器地址栏中输入:

JavaScript:document.myForm.action="b.action";void(0);
这样数据就会被提交到b.action中而不是a.action

2.伪造数据,绕过合法性验证

解释:很多Web应用在,在前台用javascript来控制数据的合法性,但是这种合法性是很容易被绕过的

有如下一个表单:

 <form name="myForm" action="a.html" onsubmit="return !/\s+/.test(document.myForm.textData.value) && /\d+/.test(document.myForm.numData.value) || alert('请输入正确格式') || false;">
	<input name="textData" type="text"/>
	<input name="numData" type="text"/>
	<input type="submit">
	</form>
其中textData必须为字符numData必须为数学,否则无法提交

破解方法:

在浏览器地址栏中输入:

JavaScript:document.myForm.onsubmit=function() {return true;}; void(0)

更详细的介绍参照《JavaScript王者归来》一书的第21页。





目录
相关文章
|
1月前
|
JavaScript 安全 前端开发
js开发:请解释什么是XSS攻击和CSRF攻击,并说明如何防范这些攻击。
XSS和CSRF是两种常见的Web安全威胁。XSS攻击通过注入恶意脚本盗取用户信息或控制账户,防范措施包括输入验证、内容编码、HTTPOnly Cookie和CSP。CSRF攻击则诱使用户执行未经授权操作,防范手段有CSRF Tokens、双重验证、Referer检查和SameSite Cookie属性。开发者应采取这些防御措施并定期进行安全审计以增强应用安全性。
20 0
|
3月前
|
JavaScript Android开发
AutoJs4.1.0实战教程---js文件打包发布成APK文件
AutoJs4.1.0实战教程---js文件打包发布成APK文件
95 0
AutoJs4.1.0实战教程---js文件打包发布成APK文件
|
4月前
|
人工智能 JavaScript 前端开发
【前端|JS实战第1篇】使用JS来实现属于自己的贪吃蛇游戏!
【前端|JS实战第1篇】使用JS来实现属于自己的贪吃蛇游戏!
|
6月前
|
JavaScript 前端开发 API
前端JavaScript入门到精通,javascript核心进阶ES6语法、API、js高级等基础知识和实战 —— Web APIs(六)
前端JavaScript入门到精通,javascript核心进阶ES6语法、API、js高级等基础知识和实战 —— Web APIs(六)
65 0
|
6月前
|
JSON JavaScript 前端开发
前端JavaScript入门到精通,javascript核心进阶ES6语法、API、js高级等基础知识和实战 —— JS进阶(四)完结撒花✿✿ヽ(°▽°)ノ✿
前端JavaScript入门到精通,javascript核心进阶ES6语法、API、js高级等基础知识和实战 —— JS进阶(四)完结撒花✿✿ヽ(°▽°)ノ✿
531 0
|
6月前
|
JavaScript 前端开发 API
前端JavaScript入门到精通,javascript核心进阶ES6语法、API、js高级等基础知识和实战 —— JS进阶(三)
前端JavaScript入门到精通,javascript核心进阶ES6语法、API、js高级等基础知识和实战 —— JS进阶(三)
516 1
|
6月前
|
JavaScript 前端开发 API
前端JavaScript入门到精通,javascript核心进阶ES6语法、API、js高级等基础知识和实战 —— JS进阶(二)
前端JavaScript入门到精通,javascript核心进阶ES6语法、API、js高级等基础知识和实战 —— JS进阶(二)
470 0
|
6月前
|
JavaScript 前端开发 算法
前端JavaScript入门到精通,javascript核心进阶ES6语法、API、js高级等基础知识和实战 —— Web APIs(七)放大镜实战
前端JavaScript入门到精通,javascript核心进阶ES6语法、API、js高级等基础知识和实战 —— Web APIs(七)放大镜实战
57 0
|
6月前
|
存储 JavaScript 前端开发
前端JavaScript入门到精通,javascript核心进阶ES6语法、API、js高级等基础知识和实战 —— Web APIs(五)
前端JavaScript入门到精通,javascript核心进阶ES6语法、API、js高级等基础知识和实战 —— Web APIs(五)
28 0
|
6月前
|
JavaScript 前端开发 API
前端JavaScript入门到精通,javascript核心进阶ES6语法、API、js高级等基础知识和实战 —— Web APIs(四)
前端JavaScript入门到精通,javascript核心进阶ES6语法、API、js高级等基础知识和实战 —— Web APIs(四)
32 0