2017强网杯 web 解题思路总结

声明:首先这篇博文算不上原创,自己也是一个小白,在这里我主要参考了
这篇博客:https://blog.csdn.net/hardhard123/article/details/79683128
以及这篇writeup:https://www.ichunqiu.com/writeup/detail/503

写这篇博客的主要动机就是一边总结,一边学习,就当做是一篇学习笔记。


首先打开题目连接,出现下图所示,发现并没有什么有用的信息
2017强网杯 web 解题思路总结_第1张图片
查看源码,还是没找到有用的信息


<html>
<head>
    <title>title>
head>
<body>
Sorry. You have no permissions.body>
html>

1.初步思考
没有提示,也没有连接,那么可能有以下几种可能:
1.1 敏感文件泄露;(目录扫描)
1.2 跳转;(抓包)
1.3 cookie / session。(查看cookie)
2.cookie中的role
2017强网杯 web 解题思路总结_第2张图片
Zjo1OiJ0aHJmZyI7base64解码得到:f:5:"thrfg";,将thrfgrot13解密后得到guest

于是改为admin逆过去,adminrot13转换得到nqzva,再将f:5:"nqzva";base64编码得到Zjo1OiJucXp2YSI7

修改cookie的值提交到服务器,得到如下回应
2017强网杯 web 解题思路总结_第3张图片

查看源码,发现线索$filename = $_POST['filename']; $data = $_POST['data'];可以看到这是一个POST文件上传的操作,


<html>
<head>
    <title>title>
head>
<body>
Hello admin, now you can upload something you are easy to forget.body>
html>

接下来,顺着提示,借助于浏览器器插件hackbar,将filename=hh.php&data=POST出去,得到No No No!
2017强网杯 web 解题思路总结_第4张图片

查看源码,没啥有用的信息


<html>
<head>
    <title>title>
head>
<body>
No No No!

猜测代码中有一个用来匹配的正则表达式
写入文件除了fopen fwrite fclose 还有一种file_put_contents 这个允许data是数组 (不能是多维数组);

所以改为:

filename=hh.php&data=[] phpinfo(); ?>

再次POST,
2017强网杯 web 解题思路总结_第5张图片
得到了一个地址./uploads/d8bc6a3fb97ef6d2aec73924ea7c9409hh.php,访问该地址
拿到flag
2017强网杯 web 解题思路总结_第6张图片

你可能感兴趣的:(web安全,ctf)