【应用安全 - 编程语言漏洞 - PHP语言漏洞汇总】教程文章相关的互联网学习教程文章

PHP反序列化漏洞总结【代码】【图】

写在前边  做了不少PHP反序列化的题了,是时候把坑给填上了。参考了一些大佬们的博客,自己再做一下总结1.面向对象2.PHP序列化和反序列化3.PHP反序列化漏洞实例1.面向对象  在了解序列化和反序列化之前,先简单了解一下PHP的面向对象。  万物皆可对象。根据官方手册,PHP中,以关键字class定义一个类,一个类可以包含有属于自己的常量,变量(称为“属性”)以及函数(称为“方法”)。class People {//声明属性public$name;...

bugku-flag在index里(本地文件包含漏洞+php伪协议的结合应用)【图】

首先页面点击click me之后就显示这样 根据file=show.php可以想到本地文件包含漏洞所以直接 http://123.206.87.240:8005/post/index.php?file=php://filter/read=convert.base64-encode/resource=index.php可以得到 从密文最后的“==”可以知道是base64密文,将密文解密之后可以得到 得到flag。现在我们来总结一下上面 ?file=php://filter/read=convert.base64-encode/resource=index.php 的含义?file是一个get参数传递,php...

PHP程序的常见漏洞攻击分析

随着PHP的广泛运用,一些黑客们也在无时不想找PHP的麻烦,通过PHP程序漏洞进行攻击就是其中一种。在节,我们将从全局变量,远程文件,文件上载,库文件,Session文件,数据类型和容易出错的函数这几个方面分析了PHP的安全性。如何通过全局变量进行攻击?PHP中的变量不需要事先声明,它们会在第一次使用时自动创建,它们的类型根据上下文环境自动确定。从程序员的角度来看,这无疑是一种极其方便的处理方法。一旦一个变量被创建了,...

dedecms v5.6 GBK 注入漏洞利用(member/index.php)

EXP: htp://127.0.0.1/member/index.php?uid=%20||%20%20||%20%E6%B6%9B%E5%A3%B0%E4%BE%9D%E6%97%A7; 会员中心首页(../member/index.php)函数过滤不严格造成盲注,数据库错误模式,XSS EXP: htp://127.0.0.1/member/index.php?uid=‘%20||%20‘‘%20||%20‘%E6%B6%9B%E5%A3%B0%E4%BE%9D%E6%97%A7‘; htp://127.0.0.1/member/index.php?uid=%E6%B6%9B%E5%A3%B0%E4%BE%9D%E6%97%A7WFXSSProbe‘")/> htp://127.0.0.1/member/index.php?...

2020/1/28 PHP代码审计之代码执行漏洞【代码】【图】

0x00代码执行原理应用程序有时需要调用一些执行系统命令的函数,如在PHP中,使用system、exec、shell_exec、passthru、popen、proc_popen等函数可以执行系统命令。当黑客能控制这些函数中的参数时,就可以将恶意的系统命令拼接到正常命令中,从而造成命令执行漏洞,这就是命令执行漏洞。 通常会使用escapeshellarg对参数进行处理,但在低版本的PHP库函数中该函数存在漏洞(原因:Windows上未对反斜杠进行过滤),需要注意。0x01 挖掘...

php序列化漏洞理解【代码】【图】

0x01什么是序列化序列化就是将我们的 对象转变成一个字符串,保存对象的值方便之后的传递与使用。0x02为什么要序列化如果为一个脚本中想要调用之前一个脚本的变量,但是前一个脚本已经执行完毕,所有的变量和内容释放掉了,我们要如何操作呢?难道要前一个脚本不断的循环,等待后面脚本调用?这肯定是不现实的。serialize和unserialize就是用来解决这一问题的。serialize可以将变量转换为字符串并且在转换中可以保存当前变量的值;un...

PHP漏洞 (转)

1.MD5 compare漏洞PHP在处理哈希字符串时,会利用”!=”或”==”来对哈希值进行比较,它把每一个以”0E”开头的哈希值都解释为0,MD5不能处理数组,可用数组绕过、2.ereg函数漏洞:00截断数组,则返回值为NULL 3.变量本身的key4.变量覆盖5.strcmp6.sha1 和 md5 函数7.is_numeric8.preg_match9.parse_str10.字符串比较11.unset12.intval()13.switch()14.in_array()15.serialize 和 unserialize漏洞16.session 反序列化漏洞原文:ht...

php序列化函数漏洞----unserialize()函数【代码】【图】

unserialize()函数概念 unserialize() 对单一的已序列化的变量进行操作,将其转换回 PHP 的值。返回的是转换之后的值,可为 integer、float、string、array 或 object。如果传递的字符串不可解序列化,则返回 FALSE。与之相对的函数serialize()序列化函数。我们看一个题目题目:天网管理系统,链接: http://ctf5.shiyanbar.com/10/web1/1、进入题目查看网页源码这行提示比较霸气,直接让你判断你的用户名的md5值是不是等于0,这里...

phpcms前台任意代码执行漏洞(php<5.3)【代码】

phpcms v9 中 string2array()函数使用了eval函数,在多个地方可能造成代码执行漏洞 /phpsso_server/phpcms/libs/functions/global.func.php/** * 将字符串转换为数组 * * @param string $data 字符串 * @return array 返回数组格式,如果,data为空,则返回空数组 */function string2array($data) { if($data == ‘‘‘‘) returnarray(); eval("\$array = $data;"); return$array; } 在文件/phpcms/modules/vote/in...

PHP漏洞全解(三)-客户端脚本植入【图】

客户端脚本植入(Script Insertion),是指将可以执行的脚本插入到表单、图片、动画或超链接文字等对象内。当用户打开这些对象后,攻击者所植入的脚本就会被执行,进而开始攻击。可以被用作脚本植入的HTML标签一般包括以下几种:1、<script>标签标记的javascript和vbscript等页面脚本程序。在<script>标签内可以指定js程序代码,也可以在src属性内指定js文件的URL路径2、<object>标签标记的对象。这些对象是java applet、多媒体文件和...

对于ThinkPHP框架早期版本的一个SQL注入漏洞详细分析【代码】

ThinkPHP官网上曾有一段公告指出,在ThinkPHP 3.1.3及之前的版本存在一个SQL注入漏洞,漏洞存在于ThinkPHP/Lib/Core/Model.class.php 文件 根据官方文档对"防止SQL注入"的方法解释(参考http://doc.thinkphp.cn/manual/sql_injection.html) 使用查询条件预处理可以防止SQL注入,没错,当使用如下代码时可以起到效果: $Model->where("id=%d and username=‘%s‘ and xx=‘%f‘",array($id,$username,$xx))->select();或者 $Model->where...

dedecms cookies泄漏导致SQL漏洞 article_add.php 的解决方法【图】

漏洞名称:dedecms cookies泄漏导致SQL漏洞补丁文件:/member/article_add.php补丁来源:云盾自研漏洞描述:dedecms的文章发表表单中泄漏了用于防御CSRF的核心cookie,同时在其他核心支付系统也使用了同样的cookie进行验证,黑客可利用泄漏的cookie通过后台验证,进行后台注入。解决方法搜索代码:if (empty($dede_fieldshash) || $dede_fieldshash != md5($dede_addonfields.$cfg_cookie_encode))如图:修改代码为:if (empty($de...

php反序列化漏洞-咖面Amber【代码】【图】

https://www.bilibili.com/video/BV1Ft41187ZXphp反序列化原理php序列化与反序列化基础序列化与反序列化序列化:将变量转换为可保存或传输的字符串的过程反序列化:在适当的时候把这个字符串转化为原来的变量使用php序列化与反序列化函数serialize:可以将变量转换为字符串并且在转换中可以保存当前变量的值unserialize:可以将serialize生成的字符串变换回变量php进行序列化的目的是保存一个对象方便以后重用类,变量,方法,对象<?php//...

第八章——第二节--文件包含漏洞篇之PHP相关参数介绍

1、PHP配置文件(PHP.ini)介绍  php.ini是php的配置文件,里面包含了众多配置,在php启动时被读取。自php5.3.0起,PHP支持每个目录的.htaccess风格的ini文件。此类文件仅被CD/FASTCGL SAPL处理。如果使用apache,则用.htaccess文件同样效果。2、PHP.ini的配置语法a)指令=值b) 指令名大小写敏感3、PHP.ini常见重要配置a) 短标签: short_open_tag = on   这项配置设置为on 的话。允许php使用短标签,如<? 短标签形式<?php 完整标...

php之文件类型解析漏洞防御与攻击

php在处理文件上传时,经常可以用到下面几种方式来判断文件的类型1.通过文件名后缀,不安全,非常容易欺骗2.通过mime判断,部分类型的文件通过修改文件后缀名,也可以欺骗服务器3.通过头字节判断文件类型,但是判断范围有限,比如docx/xlsx等新的文档,通过头信息判断时,其实是一个zip包PHP通过读取文件头部两个字节判断文件真实类型及其应用示例function checkFileType($fileName){ $file = fopen($fileName, "rb"); ...