初探csrf学习笔记
- 以下是学习了对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
参考文章:
- http://www.freebuf.com/articles/web/55965.html
- http://www.cnblogs.com/hyddd/archive/2009/04/09/1432744.html
初探csrf学习笔记的更多相关文章
- 关于前端的photoshop初探的学习笔记
写在前边 这还是高三的时候暑假的时候学习这个软件时记的笔记呢,今天又在电脑上找到了它,总觉得不应该让他尘封在我的硬盘上,于是挂了出来.温馨提示:比较乱,写给自己看的,看不下去,按ctrl+W 笔记内容 ...
- csrf学习笔记
CSRF全称Cross Site Request Forgery,即跨站点请求伪造.我们知道,攻击时常常伴随着各种各样的请求,而攻击的发生也是由各种请求造成的. CSRF攻击能够达到的目的是使受害者发 ...
- CSRF学习笔记之CSRF的防御【00x4】
referer 验证 根据HTTP协议,在http请求头中包含一个referer的字段,这个字段记录了该http请求的原地址.通常情况下,执行转账操作的post请求www.bank.com/trans ...
- CSRF学习笔记之CSRF的攻击与防御以及审计【00x3】
Hight.php完整代码如下: <?php if (isset($_GET['Change'])) { // Turn requests into variables $pass_curr = ...
- CSRF学习笔记之CSRF的攻击与防御以及审计【00x1 】
+++++++++++++++++++++++++++ + 00x1 实现简单的攻击 + 00x2 代码审计漏洞的源头 +++++++++++++++++++++++++++ 00x1 简单的csrf ...
- CSRF 学习笔记
1:什么是CSRF: 假设有一个支付网站:www.xx.com 向小明同学付款1000元数据包: www.xx.com/pay.php?name=xiaoming&account=xxxx@q ...
- CSRF学习笔记之CSRF的攻击与防御以及审计【00x2 】
Medium完整代码: <?php if (isset($_GET['Change'])) { // Checks the http referer header if ( eregi ( &q ...
- 初探C++运算符重载学习笔记<2> 重载为友元函数
初探C++运算符重载学习笔记 在上面那篇博客中,写了将运算符重载为普通函数或类的成员函数这两种情况. 以下的两种情况发生.则我们须要将运算符重载为类的友元函数 <1>成员函数不能满足要求 ...
- Android学习笔记(三)——初探Intent
//此系列博文是<第一行Android代码>的学习笔记,如有错漏,欢迎指正! Intent 是 Android 程序中各组件之间进行交互的一种重要方式,它不仅可以指明当前组件想要执行的动作 ...
随机推荐
- arithmetic-slices
https://leetcode.com/problems/arithmetic-slices/ public class Solution { public int numberOfArithmet ...
- phantomjs 无法打开https网站解决方案
最近测试原来的爬虫程序,发现phantomjs 无法打开https网站了,经过网上查下,发现需要在phantomjs定义的加以下参数 self.driver = webdriver.PhantomJS ...
- JList的基本操作
1.初始化并添加元素DefaultListModel leftListModel=new DefaultListModel();String[] items = Model.getPairs();fo ...
- Spring之替换Bean的返回结果,替换Bean的方法实例
Spring是一个非常强悍的框架+容器,其中有代理模式(动态代理模式)的极致体现.下面是两个比较让人感觉精彩的代码使用,重点关注main方法中的ClassPathXMlApplicationConte ...
- WebDriver API——第1部分
The API definitions in this chapter shows the absolute location of classes. However the recommended ...
- Patterns-Flyweight
最近在组里讨论设计模式,第一个是享元模式. 自己贴了一篇这个文章:http://www.cnblogs.com/rush/archive/2011/10/01/2197785.html 感觉这篇讲的不 ...
- CopyOnWriteArrayList操作java.lang.UnsupportedOperationException
问题一:CopyOnWriteArrayList不能强制转换成ArrayList 解决的方法:将CopyOnWriteArrayList传入ArrayList中 ArrayList<T> ...
- JDBC 使用SimpleJdbcTemplate实现Dao
public interface UserDao { public void addUser(User user); public User getUser(int userId); ...
- js对数组按顺序排序
console.log("------默认排序(ASCII字符排序)------"); ,,,,]; arr.sort(); //ASCII字符代码从小到大排序 console.l ...
- Python-PyQt4学习资料汇总
摘自:http://www.cnblogs.com/coderzh/archive/2009/06/28/1512654.html 官方文档: http://pyqt.sourceforge.net/ ...