• 以下是学习了对CSRF的理解,大家切勿作为标准,如有出错请告之!
  • 严禁转载.不想拿自己刚学到的知识去【误人子弟】之所以写出来是让自己巩固和增加理解,他日对此文有不当之处自会修改。

[00x1]csrf是什么?
      [-]CSRF全称叫做cross-site request forgety 中文名叫做跨站请求伪造。
[00x2]我怎么理解CSRF?
      [-]CSRF原理其实与XSS原理十分相似,xss通过构造恶意的js语句来获取COOKIE,而CSRF则是通过用户的COOKIE来执行伪造好的表单。

[00x3]真实CSRF案例。[会补]

  • 存在漏洞网站:123.com
  • 测试源码程序:XYcms
  • 在其后台的添加管理员界面存在csrf漏洞,构造好POC(即伪造好表单)放到另外的一个web上,让网站的管理员打开。(可以诱骗管理员点击,如此就达到了一次CSRF攻击)
  • 技巧:
    • 欺骗打开的时候可以使用生成短域名
    • 使用js调用伪造好的表单,否则被提示添加管理员成功,此类的话。

[00x4]如何防御CSRF漏洞?
    [-]验证referer
    [-]验证token

参考文章:

  1. http://www.freebuf.com/articles/web/55965.html
  2. http://www.cnblogs.com/hyddd/archive/2009/04/09/1432744.html

初探csrf学习笔记的更多相关文章

  1. 关于前端的photoshop初探的学习笔记

    写在前边 这还是高三的时候暑假的时候学习这个软件时记的笔记呢,今天又在电脑上找到了它,总觉得不应该让他尘封在我的硬盘上,于是挂了出来.温馨提示:比较乱,写给自己看的,看不下去,按ctrl+W 笔记内容 ...

  2. csrf学习笔记

    CSRF全称Cross Site Request Forgery,即跨站点请求伪造.我们知道,攻击时常常伴随着各种各样的请求,而攻击的发生也是由各种请求造成的. CSRF攻击能够达到的目的是使受害者发 ...

  3. CSRF学习笔记之CSRF的防御【00x4】

    referer 验证 根据HTTP协议,在http请求头中包含一个referer的字段,这个字段记录了该http请求的原地址.通常情况下,执行转账操作的post请求www.bank.com/trans ...

  4. CSRF学习笔记之CSRF的攻击与防御以及审计【00x3】

    Hight.php完整代码如下: <?php if (isset($_GET['Change'])) { // Turn requests into variables $pass_curr = ...

  5. CSRF学习笔记之CSRF的攻击与防御以及审计【00x1 】

    +++++++++++++++++++++++++++ + 00x1 实现简单的攻击 + 00x2 代码审计漏洞的源头 +++++++++++++++++++++++++++ 00x1 简单的csrf ...

  6. CSRF 学习笔记

    1:什么是CSRF: 假设有一个支付网站:www.xx.com 向小明同学付款1000元数据包: www.xx.com/pay.php?name=xiaoming&account=xxxx@q ...

  7. CSRF学习笔记之CSRF的攻击与防御以及审计【00x2 】

    Medium完整代码: <?php if (isset($_GET['Change'])) { // Checks the http referer header if ( eregi ( &q ...

  8. 初探C++运算符重载学习笔记&lt;2&gt; 重载为友元函数

    初探C++运算符重载学习笔记 在上面那篇博客中,写了将运算符重载为普通函数或类的成员函数这两种情况. 以下的两种情况发生.则我们须要将运算符重载为类的友元函数 <1>成员函数不能满足要求 ...

  9. Android学习笔记(三)——初探Intent

    //此系列博文是<第一行Android代码>的学习笔记,如有错漏,欢迎指正! Intent 是 Android 程序中各组件之间进行交互的一种重要方式,它不仅可以指明当前组件想要执行的动作 ...

随机推荐

  1. arithmetic-slices

    https://leetcode.com/problems/arithmetic-slices/ public class Solution { public int numberOfArithmet ...

  2. phantomjs 无法打开https网站解决方案

    最近测试原来的爬虫程序,发现phantomjs 无法打开https网站了,经过网上查下,发现需要在phantomjs定义的加以下参数 self.driver = webdriver.PhantomJS ...

  3. JList的基本操作

    1.初始化并添加元素DefaultListModel leftListModel=new DefaultListModel();String[] items = Model.getPairs();fo ...

  4. Spring之替换Bean的返回结果,替换Bean的方法实例

    Spring是一个非常强悍的框架+容器,其中有代理模式(动态代理模式)的极致体现.下面是两个比较让人感觉精彩的代码使用,重点关注main方法中的ClassPathXMlApplicationConte ...

  5. WebDriver API——第1部分

    The API definitions in this chapter shows the absolute location of classes. However the recommended ...

  6. Patterns-Flyweight

    最近在组里讨论设计模式,第一个是享元模式. 自己贴了一篇这个文章:http://www.cnblogs.com/rush/archive/2011/10/01/2197785.html 感觉这篇讲的不 ...

  7. CopyOnWriteArrayList操作java.lang.UnsupportedOperationException

    问题一:CopyOnWriteArrayList不能强制转换成ArrayList 解决的方法:将CopyOnWriteArrayList传入ArrayList中 ArrayList<T> ...

  8. JDBC 使用SimpleJdbcTemplate实现Dao

    public interface UserDao {     public void addUser(User user);     public User getUser(int userId); ...

  9. js对数组按顺序排序

    console.log("------默认排序(ASCII字符排序)------"); ,,,,]; arr.sort(); //ASCII字符代码从小到大排序 console.l ...

  10. Python-PyQt4学习资料汇总

    摘自:http://www.cnblogs.com/coderzh/archive/2009/06/28/1512654.html 官方文档: http://pyqt.sourceforge.net/ ...