php漏洞 代码,PHP漏洞代码点滴
这些代码都是真实存在的漏洞代码,我想把他们收集起来,漏洞代码看多了势必提高自己的漏洞识别能力.至少当拿到一个待分析的程序时知道那些地方会出问题,从而有目的性的读.
1鸡肋的注入现在PHP程序能直接注入的情况已经很少了,即使你按默认安装PHP,MAGIC就是打开的,这样提交的单引
号就会被转义成\',这样就无法闭合单引号,也就不存在后面的查询,现在有好多程序都存在这种情况
,举个例子:if($_GET['x'] == "") {if($_GET['showimage'] == "") {$row = sql_array("select * from ".$pixelpost_db_prefix."pixelpost where
datetime<='$cdate' order by datetime DESC limit 0,1");} else {$row = sql_array("select * from ".$pixelpost_db_prefix."pixelpost where
(id='".$_GET['showimage']."')");}这样写程序的现在很多见的,说他是个漏洞,可利用价值很低;说他不是漏洞,可理论上确实存在注入
,很有点鸡肋的感觉,其实只需这样写就天下太平了:$row = sql_array("select * from ".$pixelpost_db_prefix."pixelpost where (intval
(id='".$_GET['showimage']."'))");
2跨站的问题出现跨站漏洞的代码多种多样,今天看到了一种就记录下来$message = isset($_POST['message']) ? $_POST['message'] : "";if (eregi("\r",$message) || eregi("\n",$message)){ die("No
intrusion! ?? :(");}$message = clean(nl2br($message),'html');
$name = isset($_POST['name']) ? $_POST['name'] : "";if (eregi("\r",$name) || eregi("\n",$name)){ die("No intrusion! ??
:(");}$name = clean($name,'html');
$url = isset($_POST['url']) ? $_POST['url'] : "";if (eregi("\r",$url) || eregi("\n",$url)){ die("No intrusion! ??
:(");}$url = clean($url,'html');
$parent_name = isset($_POST['parent_name']) ? $_POST['parent_name']
: "";if (eregi("\r",$parent_name) || eregi("\n",$parent_name)){ die("No
intrusion! ?? :(");}$parent_name = clean($parent_name);
$email = isset($_POST['email']) ? $_POST['email'] : "";if (eregi("\r",$email) || eregi("\n",$email)){ die("No intrusion!
?? :(");}$email = clean($email,'html');if(($parent_id != "") and ($message != "")) $query = "INSERT INTO
".$pixelpost_db_prefix."comments(id,parent_id,datetime,ip,message,name,url,email)VALUES('NULL','$parent_id','$datetime','$ip','$message','$name','$url','$email')";$result = mysql_query($query);clean()函数并不是过滤用的,以上程序只是用了个3元判断是否有$_POST[$var],如果有就赋值,然
后就提交到数据库里了。修补方法也很简单,可以用PHP自带的htmlspecialchars函数过滤掉HTML实体或者自己写过滤函数:function dangerchr($var){$var = str_replace("\t","",$msg);$var = str_replace("",">",$msg);$var = str_replace("\r","",$msg);$var = str_replace("\n","
",$msg);$var = str_replace(" "," ",$msg);}------来自PW的
3目录遍历漏洞:这类漏洞一般会出现在一些比较简单的留言日记类程序或者邮件列表程序中。Simplog是国外的一款基于PHP的日记程序。该程序中就出现了目录遍历漏洞漏洞代码如下:$act = $_GET['act'];if ($act == ''){include("blog.txt");}else{include("act/$act.txt");}?>$blog_id = $_GET['blogid']; if ($blog_id == ''){include("blog.txt");}else{include("./blog_entries/$blog_id.txt");} ?>从上面的代码可以清晰的看出问题所在,第一段程序获得$_GET[]提交的数据并赋值给$act,这里没有对
act做任何的过滤,而在后面判断如果变量为空就把blog.txt包含进来,如果不为空就包含act目录下的
$act.txt文件,这样当我们不管提交什么文件类型都会被加上.txt后缀,再加上我们可以用../来跳转到别的
目录,就可以遍历整个服务器上的文件了。第2段程序也是同样的漏洞,只不过变量变成数字型了,我们
一样可以构造类似于index.php?act=blog&blogid=../config.php这样的URL来读取敏感文件内容。
修补方法很简单,对于数字形的只需用intval()函数来把ID强制整形化就可以了,对于字符形的可以
用类似的代码来过滤$act = str_replace("../","",$act),当然这样写是不全面的,如有需要可以自定
义一个过滤的函数,把危险字符都替换掉。
小编推荐:欲学习电脑技术、系统维护、网络管理、编程开发和安全攻防等高端IT技术,请 点击这里注册账号,公开课频道价值万元IT培训教程免费学,让您少走弯路、事半功倍,好工作升职加薪!
免责声明:本站系公益性非盈利IT技术普及网,本文由投稿者转载自互联网的公开文章,文末均已注明出处,其内容和图片版权归原网站或作者所有,文中所述不代表本站观点,若有无意侵权或转载不当之处请从网站右下角联系我们处理,谢谢合作!
php漏洞 代码,PHP漏洞代码点滴相关推荐
- thinkphp5+远程代码执行_ThinkPHP5 5.0.23 远程代码执行漏洞
漏洞描述 ThinkPHP是一款运用极广的PHP开发框架.其5.0.23以前的版本中,获取method的方法中没有正确处理方法名,导致攻击者可以调用Request类任意方法并构造利用链,从而导致远程 ...
- ElasticSearch Groovy脚本远程代码执行漏洞
什么是ElasticSearch? 它是一种分布式的.实时性的.由JAVA开发的搜索和分析引擎. 2014年,曾经被曝出过一个远程代码执行漏洞(CVE-2014-3120),漏洞出现在脚本查询模块,由 ...
- GitHub 的AI代码生成神器,其四成代码有漏洞,你还敢用吗
点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 作者 | 闫园园 日前,研究人员发现,GitHub Copilot ...
- Linux包管理器apt/apt-get发现远程代码执行漏洞
研究人员Max Justicz日前发现了知名Linux包管理器apt/apt-get中的远程代码执行漏洞,该漏洞允许外部进行中间人攻击并获取root权限以执行任何代码.该漏洞已在最新版本apt修复,如 ...
- wordpress php执行短代码_【漏洞通告】PHP远程代码执行漏洞(CVE-2019-11043)
1.综述2019年9月14日至18举办的 Real World CTF中,国外安全研究员 Andrew Danau 在解决一道CTF题目时发现,向目标服务器 URL 发送 %0a 符号时,服务返回异常 ...
- php定时执行代码漏洞_【漏洞风险提示】Drupal任意PHP代码执行漏洞通告
漏洞描述 Drupal是使用PHP语言编写的开源内容管理框架(CMF),它由内容管理系统(CMS)和PHP开发框架(Framework)共同构成. 2020年11月25日,Drupal发布了Drupa ...
- ImageMagick远程代码执行漏洞CVE-2016-8707 绿盟科技发布安全威胁通告
在 ImageMagicks 的转换实用程序中, TIFF 图像压缩处理存在一个写边界的问题.攻击者利用一个精心编制的 TIFF 文件,可以导致的界限写,特别是可以利用的情况下进入远程执行代码.任何用 ...
- ecshop 解密index.php,ECShop 2.x 3.0代码执行漏洞分析
0x00 前言 ECShop是一款B2C独立网店系统,适合企业及个人快速构建个性化网上商店.2.x版本跟3.0版本存在代码执行漏洞. 0x01 漏洞原理 ECShop 没有对 $GLOBAL['_SE ...
- Source引擎的远程代码执行漏洞,可能影响千万游戏玩家
本文讲的是Source引擎的远程代码执行漏洞,可能影响千万游戏玩家, 目前多款主流游戏,如CS.绝地要塞等都在使用Source引擎,Source引擎由Valve软件公司开发,这个引擎提供关于渲染.声效 ...
- Struts2/WebWork高危漏洞(远程执行任意代码)
exploit-db网站在7月14日爆出了一个Struts2的远程执行任意代码的漏洞. 漏洞名称:Struts2/XWork < 2.2.0 Remote Command Execution ...
最新文章
- android vlc eclipse,在Eclipse下导入vlc-android并编译
- 睿思成研发管理咨询有限公司
- python 批量创建线程_【Python】批量创建线程
- 2015计算机二级公共基础知识,2015年计算机二级公共基础知识考点测试题(8)
- 飞鸽传书已经写了5年,还是老样子。
- /usr/include/stdio.h:27:10: fatal error: bits/libc-header-start.h: No such file or directory 报错解决
- java 基本理论知识点
- es文件浏览器访问win10局域网共享文件能看见共享文件夹但是点击文件夹无反应
- iptables详解(图文)
- 菜鸟阿鑫的常用类(上)总结
- 公务员考试152分上岸经验,你同样可以复制
- ant批量修改文件名_怎么批量修改文件名后缀(安卓批量修改文件后缀操作方法)...
- 【Linux】Linux内核数据结构:IDR(redix树)
- 1.2 Unity3D 的注册
- Tensorflow实现AlexNet
- 华为手机SD卡升级指导
- 小红书什么内容容易火?
- 吃算法的 计算机方向,算法工程师算是吃青春饭的吗
- 动物模型系列之常见肿瘤动物模型
- operator=函数.
热门文章
- 业界首款 ACAP 自适应计算加速平台——Xilinx Versal Premium 系列
- analogWrite怎么做PWM输出?改PWM频率(定时器相关)
- 科技热点周刊|GitLab 上市、LinkedIn 中国停止运营、Visual Studio 2022 正式版将发布
- 微信小程序累计独立访客(UV)不低于 1000 是什么意思?
- 什么是 MAC 地址?
- 基于Qt的局域网即时通讯软件
- 酒精需要存放在防爆柜中吗?
- Nginx解决无法代理域名问题
- 反向代理实例一 访问一个域名 代理到另一个服务 nginx 200323
- javalang 生成抽象语法树AST ----python源码分析