PHP代码审计CSRF 跨站请求伪造

一.CSRF  是什么?
CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click
attack/session riding,缩写为:CSRF/XSRF。
二.CSRF  可以做什么?
你这可以这么理解 CSRF 攻击: 攻击者盗用了你的身份,以你的名义发送恶意请求 。
CSRF 能够做的事情包括:以你名义发送邮件,发消息,盗取你的账号,甚至于购买商品,
虚拟货币转账......造成的问题包括:个人隐私泄露以及财产安全。
三.CSRF  漏洞现状
CSRF 这种攻击方式在 2000 年已经被国外的安全人员提出,但在国内,直到 06 年才开
始被关注,08 年,国内外的多个大型社区和交互网站分别爆出 CSRF 漏洞,如:NYTimes.com
(纽约时报)、Metafilter(一个大型的 BLOG 网站),YouTube 和百度 HI......而现在,互联网
上的许多站点仍对此毫无防备,以至于 安全业界称 CSRF  为 “ 沉睡的巨人” ” 。
四. 审计 csrf
敏感表单是否使用 token 验证
五. 利用方法
六.Sql  代码

-- phpMyAdmin SQL Du


2
-- version 2.11.2.1
-- http://www.phpmyadmin.net
--
-- 主机: localhost
-- 生成日期: 2014 年 03 月 28 日 18:38
-- 服务器版本: 5.0.45
-- PHP 版本: 5.2.5
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
--
-- 数据库: `test`
--
-- --------------------------------------------------------
--
-- 表的结构 `admin`
--
CREATE TABLE `admin` (
`id` int(5) unsigned NOT NULL auto_increment,
`name` varchar(40) NOT NULL,
`pass` varchar(40) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=gbk AUTO_INCREMENT=6 ;
--
-- 导出表中的数据 `admin`
--
七. 防御策略
1.验证 HTTP Referer 字段
2.在请求地址中添加 token 并验证
3. 在 HTTP 头中自定义属性并验证

你可能感兴趣的:(代码审计)