php漏洞之跨网站请求伪造与防止伪造方法_php技巧
伪造跨站请求介绍
伪造跨站请求比较难以防范,而且危害巨大,攻击者可以通过这种方式恶作剧,发spam信息,删除数据等等。这种攻击常见的表现形式有:
伪造链接,引诱用户点击,或是让用户在不知情的情况下访问
伪造表单,引诱用户提交。表单可以是隐藏的,用图片或链接的形式伪装。
比较常见而且也很廉价的防范手段是在所有可能涉及用户写操作的表单中加入一个随机且变换频繁的字符串,然后在处理表单的时候对这个字符串进行检查。这个随机字符串如果和当前用户身份相关联的话,那么攻击者伪造请求会比较麻烦。
如果攻击者以隐藏的方式发送给目标用户链接,那么如果目标用户不小心访问以后,购买的数量就成了1000个
实例
随缘网络PHP留言板V1.0
任意删除留言
//delbook.php 此页面用于删除留言
include_once("dlyz.php"); //dlyz.php用户验证权限,当权限是admin的时候方可删除留言
include_once("../conn.php");
$del=$_GET["del"];
$id=$_GET["id"];
if ($del=="data")
{
$ID_Dele= implode(",",$_POST['adid']);
$sql="delete from book where id in (".$ID_Dele.")";
mysql_query($sql);
}
else
{
$sql="delete from book where id=".$id; //传递要删除的留言ID
mysql_query($sql);
}
mysql_close($conn);
echo "";
?>
当我们具有admin权限,提交http://localhost/manage/delbook.php?id=2 时,就会删除id为2的留言
利用方法:
我们使用普通用户留言(源代码方式),内容为




插入4张图片链接分别删除4个id留言,然后我们返回首页浏览看,没有什么变化。。图片显示不了
现在我们再用管理员账号登陆后,来刷新首页,会发现留言就剩一条,其他在图片链接中指定的ID号的留言,全部都被删除。
攻击者在留言中插入隐藏的图片链接,此链接具有删除留言的作用,而攻击者自己访问这些图片链接的时候,是不具有权限的,所以看不到任何效果,但是当管理员登陆后,查看此留言,就会执行隐藏的链接,而他的权限又是足够大的,从而这些留言就被删除了
修改管理员密码
//pass.php
if($_GET["act"])
{
$username=$_POST["username"];
$sh=$_POST["sh"];
$gg=$_POST["gg"];
$title=$_POST["title"];
$copyright=$_POST["copyright"]."
网站:脚本之家";
$password=md5($_POST["password"]);
if(empty($_POST["password"]))
{
$sql="update gly set username='".$username."',sh=".$sh.",gg='".$gg."',title='".$title."',copyright='".$copyright."' where id=1";
}
else
{
$sql="update gly set username='".$username."',password='".$password."',sh=".$sh.",gg='".$gg."',title='".$title."',copyright='".$copyright."' where id=1";
}
mysql_query($sql);
mysql_close($conn);
echo "";
}
这个文件用于修改管理密码和网站设置的一些信息,我们可以直接构造如下表单:
存为attack.html,放到自己网站上http://www.jb51.net此页面访问后会自动向目标程序的pass.php提交参数,用户名修改为root,密码修改为root,然后我们去留言板发一条留言,隐藏这个链接,管理访问以后,他的用户名和密码全部修改成了root
防止伪造跨站请求
yahoo对付伪造跨站请求的办法是在表单里加入一个叫.crumb的随机串;而facebook也有类似的解决办法,它的表单里常常会有post_form_id和fb_dtsg。
随机串代码实现
咱们按照这个思路,山寨一个crumb的实现,代码如下:
class Crumb {
CONST SALT = "your-secret-salt";
static $ttl = 7200;
static public function challenge($data) {
return hash_hmac('md5', $data, self::SALT);
}
static public function issueCrumb($uid, $action = -1) {
$i = ceil(time() / self::$ttl);
return substr(self::challenge($i . $action . $uid), -12, 10);
}
static public function verifyCrumb($uid, $crumb, $action = -1) {
$i = ceil(time() / self::$ttl);
if(substr(self::challenge($i . $action . $uid), -12, 10) == $crumb ||
substr(self::challenge(($i - 1) . $action . $uid), -12, 10) == $crumb)
return true;
return false;
}
}
代码中的$uid表示用户唯一标识,而$ttl表示这个随机串的有效时间。
应用示例
构造表单
在表单中插入一个隐藏的随机串crumb
处理表单 demo.php
对crumb进行检查
if(Crumb::verifyCrumb($uid, $_POST['crumb'])) {
//按照正常流程处理表单
} else {
//crumb校验失败,错误提示流程
}
?>

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Dalam masa kurang daripada satu minit dan tidak lebih daripada 20 langkah, anda boleh memintas sekatan keselamatan dan berjaya menjailbreak model besar! Dan tidak perlu mengetahui butiran dalaman model - hanya dua model kotak hitam perlu berinteraksi, dan AI boleh mengalahkan AI secara automatik dan bercakap kandungan berbahaya. Saya mendengar bahawa "Grandma Loophole" yang pernah popular telah diperbaiki: Sekarang, menghadapi "Detektif Loophole", "Adventurer Loophole" dan "Writer Loophole", apakah strategi tindak balas yang harus diguna pakai kecerdasan buatan? Selepas gelombang serangan, GPT-4 tidak tahan lagi, dan secara langsung mengatakan bahawa ia akan meracuni sistem bekalan air selagi... ini atau itu. Kuncinya ialah ini hanyalah gelombang kecil kelemahan yang didedahkan oleh pasukan penyelidik University of Pennsylvania, dan menggunakan algoritma mereka yang baru dibangunkan, AI boleh menjana pelbagai gesaan serangan secara automatik. Penyelidik mengatakan kaedah ini lebih baik daripada yang sedia ada

Dalam pembangunan aplikasi web, fungsi muat naik fail telah menjadi keperluan asas. Ciri ini membolehkan pengguna memuat naik fail mereka sendiri ke pelayan dan kemudian menyimpan atau memprosesnya pada pelayan. Walau bagaimanapun, ciri ini juga membuatkan pembangun perlu memberi lebih perhatian kepada kelemahan keselamatan: kerentanan muat naik fail. Penyerang boleh menyerang pelayan dengan memuat naik fail berniat jahat, menyebabkan pelayan mengalami pelbagai tahap kerosakan. Bahasa PHP adalah salah satu bahasa yang digunakan secara meluas dalam pembangunan web, dan kelemahan muat naik fail juga merupakan salah satu isu keselamatan yang biasa. Artikel ini akan memperkenalkan

Kelemahan limpahan penampan di Jawa dan bahayanya Limpahan penimbal bermakna apabila kita menulis lebih banyak data ke penimbal daripada kapasitinya, ia akan menyebabkan data melimpah ke kawasan memori lain. Tingkah laku limpahan ini sering dieksploitasi oleh penggodam, yang boleh membawa kepada akibat yang serius seperti pelaksanaan kod yang tidak normal dan ranap sistem. Artikel ini akan memperkenalkan kelemahan limpahan penimbal dan kemudaratannya dalam Java dan memberikan contoh kod untuk membantu pembaca memahami dengan lebih baik. Kelas penimbal yang digunakan secara meluas dalam Java termasuk ByteBuffer, CharBuffer, dan ShortB

Menurut berita pada 2 Februari, Shane Jones, pengurus jabatan kejuruteraan perisian Microsoft, baru-baru ini menemui kelemahan dalam model DALL-E3 OpenAI, yang dikatakan boleh menjana satu siri kandungan yang tidak sesuai. Shane Jones melaporkan kelemahan itu kepada syarikat itu, tetapi diminta untuk merahsiakannya. Bagaimanapun, dia akhirnya memutuskan untuk mendedahkan kelemahan kepada dunia luar. ▲Sumber imej: Laporan yang didedahkan oleh ShaneJones Laman web ini mendapati bahawa ShaneJones mendapati melalui penyelidikan bebas pada Disember tahun lepas bahawa terdapat kelemahan dalam model DALL-E3 imej jana teks OpenAI. Kerentanan ini boleh memintas AI Guardrail (AIGuardrail), menghasilkan penjanaan siri kandungan NSFW yang tidak sesuai. Penemuan ini menarik perhatian ramai

Gambaran Keseluruhan Kerentanan Pengendali Koma dan Langkah-langkah Pertahanan dalam Java: Dalam pengaturcaraan Java, kami sering menggunakan operator koma untuk melaksanakan berbilang operasi pada masa yang sama. Walau bagaimanapun, kadangkala kita mungkin terlepas pandang beberapa kemungkinan kelemahan pengendali koma yang mungkin membawa kepada hasil yang tidak dijangka. Artikel ini akan memperkenalkan kelemahan pengendali koma di Jawa dan menyediakan langkah perlindungan yang sepadan. Penggunaan operator koma: Sintaks operator koma di Java ialah expr1, expr2, yang boleh dikatakan sebagai operator jujukan. Fungsinya adalah untuk mengira dahulu ex

Menurut berita dari laman web ini pada 21 Jun, perisian tegar Phoenix Secure Core UEFI terdedah kepada kelemahan keselamatan, yang menjejaskan beratus-ratus peranti CPU Intel Lenovo telah mengeluarkan kemas kini perisian tegar baharu untuk membetulkan kelemahan tersebut. Tapak ini mengetahui daripada laporan bahawa nombor penjejakan kerentanan ialah CVE-2024-0762, dikenali sebagai "UEFICANHAZBUFFEROVERFLOW", yang wujud dalam konfigurasi Trusted Platform Module (TPM) bagi perisian tegar Phoenix UEFI Ia adalah kelemahan limpahan penimbal yang boleh Dieksploitasi laksanakan kod arbitrari pada peranti yang terdedah. Kerentanan itu ditemui oleh Eclypsium dalam Lenovo ThinkPad X1 Carbon generasi ke-7 dan X1Yoga generasi ke-4

本篇文章给大家带来了关于PHP漏洞的相关知识,其中主要给大家总结介绍PHP的常见漏洞代码都有哪些,非常全面详细,下面一起来看一下,希望对需要的朋友有所帮助。

<ul><li><strong>Klik untuk masuk:</strong>Navigasi pemalam alat ChatGPT</li></ul><figureclass="image--expandable">< imgsrc ="/uploads/2023041
