PHP 漏洞全解(六)-跨网站请求伪造
本文主要介绍针对 PHP 网站的跨网站请求伪造。在 CSRF 所有攻击方式中包含攻击者伪造一个看起来是
其他用户发起的 HTTP
请求,事实上,跟踪一个用户发送的 HTTP 请求才是攻击者的目的。
CSRF(Cross Site Request Forgeries),意为跨网站请求伪造,也有写为 XSRF。攻击者伪造目标用户
的 HTTP 请求,然后此请求发送到有 CSRF 漏洞的网站,网站执行此请求后,引发跨站请求伪造攻击。
攻击者利用隐蔽的 HTTP 连接,让目标用户在不注意的情况下单击这个链接,由于是用户自己点击的,
而他又是合法用户拥有合法权限,所以目标用户能够在网站内执行特定的 HTTP 链接,从而达到攻击者
的目的。
例如:某个购物网站购买商品时,采用
http://www.shop.com/buy.php?item=watch&num=1
,item 参
数确定要购买什么物品,num 参数确定要购买数量,如果攻击者以隐藏的方式发送给目标用户链接
,那么如果目标用户不小心访问以后,购买的数量就成了 1000 个
实例
随缘网络 PHP 留言板 V1.0
任意删除留言
//delbook.php 此页面用于删除留言
1. <?php
2.
include_once
(
"dlyz.php"
);
//dlyz.php 用户验证权限,当权限是 admin 的时候方可删
除留言
3.
include_once
(
"../conn.php"
);
4.
$del
=
$_GET
[
"del"
];
5.
$id
=
$_GET
[
"id"
];
6.
if
(
$del
==
"data"
)
7. {
8.
$ID_Dele
= implode(
","
,
$_POST
[
'adid'
]);
9.
$sql
=
"delete from book where id in ("
.
$ID_Dele
.
")"
;