简析CSRF
1、简介
CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSRF/XSRF;
2、功能
你这可以这么理解CSRF攻击:攻击者盗用了你的身份,以你的名义发送恶意请求。CSRF能够做的事情包括:以你名义发送邮件,发消息,盗取你的账号,甚至于购买商品,虚拟货币转账......造成的问题包括:个人隐私泄露以及财产安全;
3、原理

4、示例
<!-- 这个页面是用来进行登录的 -->
<form action="#" method="post">
username:<input type="text" name="username">
password:<input type="text" name="password">
<input type="submit" value="submit">
</form> <?php
session_start();
include('conn.php');
if(isset($_POST["username"]) && isset($_POST["password"]))
{
$user=$_POST["username"];
$pass=$_POST["password"];
$sql="select * from admin where username='$user' and password='$pass'";
$res=mysql_query($sql);
while($row=mysql_fetch_array($res)){
$_SESSION['username']=$row["username"];
header("Location:welcome.php");
}
}
else{
exit();
} ?>
<?php
//登陆成功,如果id=1,就添加一个admin账号
session_start();
include("conn.php");
if(isset($_SESSION['username']))
{
if(isset($_GET['id']))
{
if($_GET['id']==1)
{
$sql="insert into admin values('admin','admin')";
$res=mysql_query($sql);
}
else
{
exit();
}
}
}
else
{
echo "please login ";
}
?>
这个时候如果黑客有这样的代码
hack.php
<html>
<img src="http://localhost/csrf/welcome.php?id=1">
</html>
当用户登录了以后,再去访问我们的hack.php文件,这个时候,就会执行添加用户!其他的大家同理进行推论~~~~
简析CSRF的更多相关文章
- NETGEAR 系列路由器命令执行漏洞简析
NETGEAR 系列路由器命令执行漏洞简析 2016年12月7日,国外网站exploit-db上爆出一个关于NETGEAR R7000路由器的命令注入漏洞.一时间,各路人马开始忙碌起来.厂商忙于声明和 ...
- 简析.NET Core 以及与 .NET Framework的关系
简析.NET Core 以及与 .NET Framework的关系 一 .NET 的 Framework 们 二 .NET Core的到来 1. Runtime 2. Unified BCL 3. W ...
- 简析 .NET Core 构成体系
简析 .NET Core 构成体系 Roslyn 编译器 RyuJIT 编译器 CoreCLR & CoreRT CoreFX(.NET Core Libraries) .NET Core 代 ...
- RecycleView + CardView 控件简析
今天使用了V7包加入的RecycleView 和 CardView,写篇简析. 先上效果图: 原理图: 这是RecycleView的工作原理: 1.LayoutManager用来处理RecycleVi ...
- Java Android 注解(Annotation) 及几个常用开源项目注解原理简析
不少开源库(ButterKnife.Retrofit.ActiveAndroid等等)都用到了注解的方式来简化代码提高开发效率. 本文简单介绍下 Annotation 示例.概念及作用.分类.自定义. ...
- PHP的错误报错级别设置原理简析
原理简析 摘录php.ini文件的默认配置(php5.4): ; Common Values: ; E_ALL (Show all errors, warnings and notices inclu ...
- Android 启动过程简析
首先我们先来看android构架图: android系统是构建在linux系统上面的. 所以android设备启动经历3个过程. Boot Loader,Linux Kernel & Andr ...
- Android RecycleView + CardView 控件简析
今天使用了V7包加入的RecycleView 和 CardView,写篇简析. 先上效果图: 原理图: 这是RecycleView的工作原理: 1.LayoutManager用来处理RecycleVi ...
- Java Annotation 及几个常用开源项目注解原理简析
PDF 版: Java Annotation.pdf, PPT 版:Java Annotation.pptx, Keynote 版:Java Annotation.key 一.Annotation 示 ...
随机推荐
- jmeter提取正则表达式中所有关联值-----我想获取所有的ID
[{ "ID": 1, "Name": "张三" }, { "ID": 2, "Name": &qu ...
- MT【124】利用柯西求最值
已知 \(a\) 为常数,函数\(f(x)=\dfrac{x}{\sqrt{a-x^2}-\sqrt{1-x^2}}\) 的最小值为\(-\dfrac{2}{3}\),则 \(a\) 的取值范围___ ...
- MT【119】关于恒成立的一道压轴题
分析:处理恒成立问题,一般先代特殊值缩小范围.令x=0,则f(a)<f(0),容易知a<0. 排除答案C.容易理解a趋向于0时候,是可以的,排除D.在剩余的A,B选项里,显然偏向于A.因为 ...
- 【uoj33】 UR #2—树上GCD
http://uoj.ac/problem/33 (题目链接) 题意 给出一棵${n}$个节点的有根树,${f_{u,v}=gcd(dis(u,lca(u,v)),dis(v,lca(u,v)))}$ ...
- linux内核分析 第六周读书笔记
第三章 进程管理 3.1 进程 进程:处于执行期的程序 线程是在进程活动中的对象:内核调度的对象是线程而不是进程,在Linux系统中,并不区分线程和进程 在现代操作系统中, 进程提供两种虚拟机制:虚拟 ...
- YY淘宝商品数据库设计
http://www.cnblogs.com/mmmjiang13/archive/2010/11/04/1868609.html 前言 这几个月都在做一个通过淘宝API线下管理淘宝店的系统,学习了很 ...
- 三、Linux学习之命令基本格式篇
一.命令格式 命令 [选项] [参数] 注意: 1.和别命令使用不遵循此格式 2.当有多个选项时,可以写在一起 3.简化选项与完整选项(-a 等价于--all) 4.中括号为可选,意思是可以有可以没有 ...
- Python入门 语法
Python入门 语法 语言介绍 对象,类型,值 编码规范 https://www.python.org/dev/peps/pep-0008/ 一.语言介绍 编程语言: 机器语言,汇编语言,高级语言 ...
- python---函数补充(变量传递),语句执行顺序(入栈顺序)
一:函数补充 默认作为函数参数的数据,是浅拷贝传递.不是和C等语言一样,产生一个临时变量. class T: def __init__(self,num): print(id(num)) self.n ...
- js加载超时 nginx静态资源
server { listen ; server_name www.example.com; client_max_body_size 20M; root /xxx/xxx;//项目路径 locati ...