JS安全开发那些事—待完善

jquery框架

jquery中的 $(“x”).html(变量); //如果变量可控,可能会导致XSS、XSIO、CSRF、黑帽seo 等等

js dialog对话框

art.dialog({title:变量,content:变量}); //我在网上看过某些程序的代码,dialog这里的content的变量是根本没有过滤,直接XSS

网页搜索的时候,输出在JS里的情况

例如我搜索xss,然后查看源代码如下:

<script>
 $(document).ready(function(){
var get_data = {name: 'leesec', query: "xss"};
$.get('/test.php, get_data, function (reply) {
         ..........
}
<script>

搜索的时候,在JS里面输出字符
接下来我们只要构造好语句,即可弹框
搜索 “};alert(1);//

<script>
 $(document).ready(function(){
var get_data = {name: 'leesec', query: ""};alert(1);//"}
$.get('/test.php, get_data, function (reply) {
         ..........
}
<script>

js代码里换行的重要性

<script>
alert("12");  //在url地址栏路输入 %0a 可在js里换行 导致XSS
<script>

顺带提一下 %0d%0a 回车换行,用来CRLF 注入

js里jquery,ajax的使用注意事项

<script>
	$.ajax({
		type: 'POST',
		url: '/test.php',
		data: 'id=' + id + '&name=' + name
		success: function(response) {}
	});
<script>

上面这代码是在普通不过的代码,但是呢,如果id和name中有一个变量的值可控,

data:'id=x&name=test'});alert(1);</script>那么我们就能执行js代码了

JS安全开发那些事—待完善》上有2条评论

  1. 猫头鹰

    网络本来是安全的,同样JS本来是安全的,但是黑客使他们变了不安全,我们能做的是减少漏洞的发生

    回复

发表评论

电子邮件地址不会被公开。 必填项已用*标注