Cross Site Request Forgery (CSRF)--medium
来源:互联网 发布:mac 您没有必要的权限 编辑:程序博客网 时间:2024/05/22 12:17
<?php if (isset($_GET['Change'])) { // Checks the http referer header if ( eregi ( "127.0.0.1", $_SERVER['HTTP_REFERER'] ) ){ // Turn requests into variables $pass_new = $_GET['password_new']; $pass_conf = $_GET['password_conf']; if ($pass_new == $pass_conf){ $pass_new = mysql_real_escape_string($pass_new); $pass_new = md5($pass_new); $insert="UPDATE `users` SET password = '$pass_new' WHERE user = 'admin';"; $result=mysql_query($insert) or die('<pre>' . mysql_error() . '</pre>' ); echo "<pre> Password Changed </pre>"; mysql_close(); } else{ echo "<pre> Passwords did not match. </pre>"; } } }?>
这里面有这么一句话
if ( eregi ( "127.0.0.1", $_SERVER['HTTP_REFERER'] ) ){HTTP REFERER的作用告诉服务器我是从哪个页面链接过来的。而eregi的作用就是对两个字符串比对匹配,匹配成功就返回true这里就表示我是从服务器本地发来的http包所以 显而易见 我们要做的就是 截获我们本地浏览器的http请求包,然后将referer部分改成 127.0.0.1 这样就可以成功突破 实现CSRF。附上一段对CSRF的介绍:
CSRF(Cross-site request forgery跨站请求伪造,也被称为“one click attack”或者session riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。尽管听起来像跨站脚本(XSS),但它与XSS非常不同,并且攻击方式几乎相左。XSS利用站点内的信任用户,而CSRF则通过伪装来自受信任用户的请求来利用受信任的网站。与XSS攻击相比,CSRF攻击往往不大流行(因此对其进行防范的资源也相当稀少)和难以防范,所以被认为比XSS更具危险性。
0 0
- Cross Site Request Forgery (CSRF)--medium
- Cross-Site Request Forgery (CSRF)
- Cross-Site Request Forgery (CSRF)
- CSRF(Cross-site request forgery)
- CSRF (Cross Site Request Forgery)
- Cross-Site Request Forgery (CSRF) Prevention Cheat Sheet
- CSRF(Cross-site request forgery 跨站请求伪造)
- CSRF(Cross-site request forgery 跨站请求伪造)
- WebGoat学习——跨站请求伪造(Cross Site Request Forgery (CSRF))
- web安全三——跨站请求伪造攻击(Cross Site Request Forgery (CSRF))
- CSRF(Cross-site request forgery),中文名称:跨站请求伪造.
- preventing cross-site request forgery attack
- Cross Site Request Forgery protection(部分)
- Django Cross Site Request Forgery protection
- 防止XSRF(cross-site request forgery 跨站点请求伪造)攻击
- 跨网站请求伪造CSRF(Cross Site Request Forgeries)
- 403-In general, this can occur when there is a genuine Cross Site Request Forgery, or whe
- 跨站请求伪造及防范 Cross-Site Request Forgeries[CSRF]
- opencv视频学习第三课(显示图像)笔记整理
- 裁员风暴席卷全球IT巨头 今年已至少7万人被裁
- datagrid进阶——subGrid讲解
- $().empty()和$().remove()
- ORA-00900: invalid SQL statement
- Cross Site Request Forgery (CSRF)--medium
- CCNP路由实验之十五 NAT(网络地址转换)
- FPGA入门初步
- 【产品经理】手绘风格在网页设计中的运用
- 【产品经理】手绘风格在网页设计中的运用
- ORA-00942: table or view does not exist
- nginx介绍(四) 经验篇
- 用do-while循环巧解n个n相乘
- 习题2.11