suyumen
目前主要在学习web相关

SUYUMEN

---在学了在学了qaQ---
2021祥云杯secrets_of_admin

用的buu的环境。页面titleuesless,直接看附件,搜admin,在database.ts文件里发现admin的创建代码:

1
INSERT INTO users (id, username, password) VALUES (1, 'admin','e365655e013ce7fdbdbf8f27b418c8fe6dc9354dc4c0328fa02b0ea547659645');

HF2021-hatenum

有一个注册窗口,一个登录窗口,附件给了源码,看一下登录逻辑:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
if(isset($_POST['username'])&&isset($_POST['password'])&&isset($_POST['code'])){
$User = new User();
switch ($User->login($_POST['username'],$_POST['password'],$_POST['code'])) {
case 'success':
echo 'login success';
header('location:home.php');
break;
case 'fail':
echo 'login fail';
header('location:index.php');
break;
case 'error':
echo 'error';
header('location:index.php');
break;
}
}

SWPU2019-easy_python

之前博客放github仓库的图片半天打不开,怀疑是那个raw.githubusercontent.com网址必须要挂梯子了;

然后偷窥了一些群友的blog,观察了一下图片的链接,终于在KKfine的博客里发现了好用的办法,我悟了,偷学成功~~


Docker环境搭建

环境:win10,Docker当前最新版。

因为想尝试一下出web题(完了好像别人都出够题了,那算了,反正我也就能出个签到题),所以开始配一个Docker的环境。

下载地址(官网):https://hub.docker.com/


网鼎杯-2020-BabyJS

下载附件得到了一群代码,简单看了以下,完全做不来。。。真吓人。。

readme文件中有如下信息:

该目录下的文件,对应在远程主机上的目录为 /source ,
例如:该目录下 app.js 在远程主机上的绝对路径为 /source/app.js .

routes下的index.js文件里有:(但是没太明白为什么这个文件是主逻辑文件,在这个位置)

网上找到的wp不太多,只能勉强跟着做。


尝试解决blog模板的滚动条bug

问题现状

在上传了上一次的fakebook博文后,我浏览了该页面,然后发现滚动条到达底部后,文章内容未显示完全,且没有底部的其他信息。(如图)

wwwwww

随后,我登录github该主题的issue模块查阅有没有解决办法,发现了2019年有人出现类似问题,并提出“能否把进度条设置长一些”的建议,但一直未能得到解答。


网鼎杯-2018-Fakebook

一开始是这个界面。

面对这种复杂的界面(一堆按钮的界面)通常我都不会做。。

扫一下。

robots.txt有东西:

User-agent: *
Disallow: /user.php.bak


ZJCTF-2019-NiZhuanSiWei

之前博客用的是jekyll的一个主题,看久了觉得太丑了(是我搭的不好),就换了一个主题,(呃呃还是很丑)同时采用hexo进行搭建,用时两天捣鼓好了,但是又没完全捣鼓好。在研究怎么把字体换一下。目前我把font文件夹的三个字体模式ttf,woff,woff2都换成了华文中宋的并不改变文件名,然后很显然没有任何变化。。。好了我破案了,改了下css的bodyfont-family成功变成了宋体~~~~~开心。


直接给了源码,看题目名好像是“逆转思维?”

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php  
$text = $_GET["text"];
$file = $_GET["file"];
$password = $_GET["password"];
if(isset($text)&&(file_get_contents($text,'r')==="welcome to the zjctf")){
echo "<br><h1>".file_get_contents($text,'r')."</h1></br>";
if(preg_match("/flag/",$file)){
echo "Not now!";
exit();
}else{
include($file); //useless.php
$password = unserialize($password);
echo $password;
}
}
else{
highlight_file(__FILE__);
}
?>

网鼎杯-2020-SSRFMe

没有做过ssrf的题,找一个了解一下。
直接给了源码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<?php
function check_inner_ip($url)
{
$match_result=preg_match('/^(http|https|gopher|dict)?:\/\/.*(\/)?.*$/',$url);
if (!$match_result)
{
die('url fomat error');
}
try
{
$url_parse=parse_url($url);
}
catch(Exception $e)
{
die('url fomat error');
return false;
}
$hostname=$url_parse['host'];
$ip=gethostbyname($hostname);
$int_ip=ip2long($ip);
return ip2long('127.0.0.0')>>24 == $int_ip>>24 || ip2long('10.0.0.0')>>24 == $int_ip>>24 || ip2long('172.16.0.0')>>20 == $int_ip>>20 || ip2long('192.168.0.0')>>16 == $int_ip>>16;
}

function safe_request_url($url)
{

if (check_inner_ip($url))
{
echo $url.' is inner ip';
}
else
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
$output = curl_exec($ch);
$result_info = curl_getinfo($ch);
if ($result_info['redirect_url'])
{
safe_request_url($result_info['redirect_url']);
}
curl_close($ch);
var_dump($output);
}

}
if(isset($_GET['url'])){
$url = $_GET['url'];
if(!empty($url)){
safe_request_url($url);
}
}
else{
highlight_file(__FILE__);
}
// Please visit hint.php locally.
?>

RCTF-2019-Nextphp

页面打开直接是源码

1
2
3
4
5
6
<?php
if (isset($_GET['a'])) {
eval($_GET['a']);
} else {
show_source(__FILE__);
}

扫了一下,没有别的东西了。

查下禁用函数:

?a=phpinfo();

PHP Version 7.4.0-dev