考点一:intval函数传入非空数组时会返回1 详情可以查一下PHP手册。【https://www.php.net/manual/zh/function.intval.php】 考点二:preg_match()只能处理字符串,当传入的是数组时将会返回false,详情也可以查一下PHP手册。例题:include("flag.php");highlight_file(__FILE__);if(isset($_GET['num']))...
$a)){ #/i表示不区分大小写,/m表示多行匹配 if(preg_match('/^php$/i', $a)){ echo 'hacker'; } else{ echo $flag; }}else{ echo 'nonononono';} 例题分析:字符 ^ 和 $ 同时使用时,
mt_rand( void) : int mt_rand( int $min, int $max) : int 很多老的 libc 的随机数发生器具有一些不确定和未知的特性而且很慢。PHP 的 rand() 函数默认使用 libc 随机数发生器。mt_rand() 函数是非正式用来替换它的。该函数用了 » Mersenne Twister 中已知的特性作为随机数发生器,它可以产生随机数...
sql_result("select * from file where filename='".w_addslashes($_FILES['file']['name'])."'",$mysql)){ $filehash=md5(mt_rand()); if(sql_result("insert into file(filename,filehash,sig) values('".w_addslashes($_FILES['file']['name'])."','".$filehash."',".(strrpos(w_...
考点一:PHP变量名由数字字母下划线组成,是没有.的 我从大佬的文章了解到,GET或POST方式传进去的变量名,会自动将空格 + . [转换为_。 例题: <?php error_reporting(0); highlight_file(__FILE__); include("flag.php"); $a=$_SERVER['argv']; $c=$_POST['fun']; if(isset($_POST['CTF_SHOW...
用php_mt_seed - PHP mt_rand() seed cracker (openwall.com) 提供的脚本破解 获取随机序列 $key = 'KVQP0LdJKRaV3n9D'; $chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; $n = strlen($chars)-1; for ($i = 0; $i < strlen($key); $i++) for ($j = 0; $j ...
phpinclude"config.php";$number1=rand(1,100000000000000);$number2=rand(1,100000000000);$number3=rand(1,100000000);$url=urldecode($_SERVER['REQUEST_URI']);$url=parse_url($url,PHP_URL_QUERY);if(preg_match("/_/i",$url)){die("...");}if(preg_match("/0/i",$url)){die("...")...
假如把PHPSESSID都删了。则会重新赋值一个新的session id 如果sessionid是没有的话,那么session_id()就是空字符串,这样的话,hash就是$ss的md5值,也就是纯数字,放cmd5解密就可以得到明文,也就是随机数, mt_rand生成的随机数是可以破解得到种子,所以可以再通过种子预测到后面的random_str的值,从而得到上传的文...
class Flag{ public $f; public $t1; public $t2; function __construct(){ $this->t2 = md5(rand(1,10000)); $this->t1 = &$this->t2; $this->f = 'flag.php'; } } $seri = new Seri(); echo serialize($seri); 序列化 魔术方法 构造函数和析构函数 __sleep()和__wakeup() __...
//flag in config.php 1. 文件名是使用DES加密 $str = openssl_decrypt($image, 'bf-ecb', $key); 1. 加密所需的key在: $key = substr(md5('ctfshow'.rand()),3,8); 1. 而PHP rand()函数产生的数值的范围最大为32768,我们可以编写脚本进行爆破,爆破脚本为: ...