BK:正则
``` /key.*key.{4,7}key:\/.\/(.*key)[a-z][[:punct:]]/i ``` /i是不区分大小写,然后去掉两条/ 剩下key.*key.{4,7}key:\/.\/(.*key)[a-z][[:punct:]]
key:就是key
.:就是任意字母
*key:就是key
.{4,7}:就是任意字母匹配4-7次
key就是key
:就是:
/就是/
(.*key)就是key
[a-z]:任意字母
[[:punct:]]是匹配任意符号(在线测试工具中可有:]能过,但是实际上只要是符号都可以)
所以综合起来就是:id=keyakeyaaaaakey:/a/keya:]
BK:你从哪里来:
bp修改 Referer:https://www.google.comBK:求getshell
一句话木马写好,文件上传抓包: 需要修改 请求头里面的Content-Type字段,大小写绕过: mULtipart/form-data; 扩展名filename:3.php5 Content-Type:image/png 文件拓展名可以是:php2, php3, php4, php5,phps, pht, phtm, phtml 只有php5才能过waf;
得到flag
BK:点了login咋没反应
扫目录出来一个flag.php,空白页,没什么用
然后提示说hint
在url后面加一个?hint=0
出来源码:由于KEY是后面定义的,所有此时cookie的key应该为空,又是反序列,所以是:s:0:""
源码为:
<?php
error_reporting(0);
include_once("flag.php");
$cookie = $_COOKIE['ISecer'];
if(isset($_GET['hint'])){
show_source(__FILE__);
}
elseif (unserialize($cookie) === "$KEY")
{
echo "$flag";
}
else {
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Login</title>
<link rel="stylesheet" href="admin.css" type="text/css">
</head>
<body>
<br>
<div class="container" align="center">
<form method="POST" action="#">
<p><input name="user" type="text" placeholder="Username"></p>
<p><input name="password" type="password" placeholder="Password"></p>
<p><input value="Login" type="button"/></p>
</form>
</div>
</body>
</html>
<?php
}
$KEY='ISecer:www.isecer.com';
?>