PHP代码审计
暮秋初九
专注于web漏洞挖掘、内网渗透、免杀和代码审计,感谢各位师傅的关注!网安之路漫长,与君共勉!vx公众号:不懂安全的果冻
展开
-
php 弱类型总结
0x01 前言最近CTF比赛,不止一次的出了php弱类型的题目,借此想总结一下关于php弱类型以及绕过方式0x02 知识介绍php中有两种比较的符号 == 与 ===1 <?php2 $a = $b ;3 a===a===a===b ;4 ?>=== 在进行比较的时候,会先判断两种字符串的类型是否相等,再比较== 在进行比较的时候,会先将字符串类型转化成相同,再比...原创 2019-05-18 16:59:25 · 256 阅读 · 0 评论 -
php中0,空,null和false之间区别
php中0,空,null和false之间区别 :$a = 0; $b="0"; $c= ''; $d= null; $e = false;echo "5个变量-原始测试类型"; var_dump($a);//int 0 var_dump($b);//string '0' var_dump($c);//string '' var_dump($d);//...原创 2019-07-17 19:24:24 · 188 阅读 · 0 评论 -
NSCTF web200
<?phpfunction encode($str){ $_o=strrev($str); //hjk for($_0=0;$_0<strlen($_o);$_0++){ $_c=substr($_o,$_0,1); $__=ord($_c)+1; $_c=chr($__); $_=$_.$_c; ...原创 2019-07-20 09:29:16 · 546 阅读 · 0 评论 -
实验吧--程序逻辑问题
看了一下实验吧的题,说是程序逻辑问题,一开始没找到源码,打开源码之后审计:<html><head>welcome to simplexue</head><body><?phpif($_POST[user] && $_POST[pass]) { $conn = mysql_connect("********, ...原创 2019-07-16 20:50:58 · 207 阅读 · 0 评论 -
变量覆盖漏洞
**变量覆盖漏洞**全局变量覆盖1)变量如果未被初始化,且能被用户所控制,那么很可能会导致安全问题。而在PHP中, 这种情况在register_globals为ON时尤其严重。在PHP 4.2.0之后的版本中,register_globals默认由ON变为了 OFF。register_globals的意思就是注册为全局变量,所以当On的时候,传递过来的值会被直接的注册为全局变量直接使用,而...原创 2019-06-08 14:26:32 · 368 阅读 · 0 评论 -
Session文件包含漏洞
session文件包含漏洞利用条件:session的存储位置可以获取。通过phpinfo的信息可以获取到session的存储位置。通过phpinfo的信息,获取到session.save_path为/var/lib/php/session.通过猜测默认的session存放位置进行尝试。session中的内容可以被控制,传入恶意代码。示例:<?phpsession_s...原创 2019-06-06 17:11:11 · 4096 阅读 · 0 评论 -
PHP安全---文件包含漏洞
原理就是注入一段用户能控制的脚本或代码,并在服务器端执行。常见的导致文件包含的函数如下:PHP: include(), include—once(),require(), require_once(), fopen(), readfile(),…当使用这4个函数包含一个新的文件时,该文件将作为PHP代码执行,PHP内核并不会在意该被包含的文件是什么类型。所以如果被包含的是txt文件、图片文件...原创 2019-06-07 03:34:18 · 342 阅读 · 0 评论 -
$$导致的变量覆盖问题
话不多说直接上代码:使用foreach来遍历数组中的值,然后再将获取到的数组键名作为变量,数组中的键值作为变量的值。因此就产生了变量覆盖漏洞。请求?name=test 会将$name的值覆盖,变为test。 1.<?php 2.//?name=test 3.//output:string(4) “name” string(4) “test” string(4) ...原创 2019-06-07 21:32:55 · 1003 阅读 · 0 评论 -
parse_str函数导致的变量覆盖问题
parse_str() 函数用于把查询字符串解析到变量中,如果没有array 参数,则由该函数设置的变量将覆盖已存在的同名变量。 极度不建议 在没有 array参数的情况下使用此函数,并且在 PHP 7.2 中将废弃不设置参数的行为。此函数没有返回值源码: 1.<?php 2.error_reporting(0); 3.if (empty($_GET['id...原创 2019-06-08 10:44:47 · 1413 阅读 · 0 评论 -
PHP处理0e开头md5哈希字符串缺陷/bug
PHP在处理哈希字符串时,会利用”!=”或”==”来对哈希值进行比较,它把每一个以”0E”开头的哈希值都解释为0,所以如果两个不同的密码经过哈希以后,其哈希值都是以”0E”开头的,那么PHP将会认为他们相同,都是0。关于PHP hash比较缺陷详细介绍:http://www.freebuf.com/news/67007.html0x01 md5(str) QNKCDZO0e8304...原创 2019-06-08 10:43:38 · 448 阅读 · 0 评论 -
实验吧--拐弯抹角
<?php// code by SEC@USTCecho '<html><head><meta http-equiv="charset" content="gbk"></head><body>';$URL = $_SERVER['REQUEST_URI'];//echo 'URL: '.$URL.'<br/>...原创 2019-07-19 09:52:34 · 379 阅读 · 0 评论