Bugku—web题总结(一)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/qq_43431158/article/details/91178922

前言:最近做了一些Bugku入门的web题目,感觉web题挺有趣的,并非是得出flag,而是可以通过一个题目学习到很多知识。

域名解析

在这里插入图片描述
题目说把 flag.baidu.com 解析到123.206.87.240 就能拿到flag,如果了解域名解析的原理和系统文件host的作用,那这道题就很简单了。

通俗的话说:域名是为了我们方便记忆,但计算机识别的是IP地址,所以要将域名解析为IP地址才能访问到自己想要访问的网站。而host文件中放的是一些网站的DNS(域名系统)缓存,通过本地解析会提高访问速度,如果没有host系统文件,我们发送请求,服务器端DNS接收解析再返回给客户端,这会慢很多,当然也可以用host文件来屏蔽一些垃圾网站,只要将它解析到一个不存在的IP即可屏蔽。

原理大致就是这样。
在这里插入图片描述
用管理员权限添加上题目所说的域名和IP,再次访问域名,即可得出flag

你必须让他停下

在这里插入图片描述
打开之后一直再刷新,查看源代码发现是用JSsetTimeout('myrefresh()',500)设置刷新,每500毫秒刷新一次页面,有两种方法可以做这到题。
一、在浏览器中禁用JS,然后手动刷新,查看源代码就可找到flag
二、用burp suite抓包
在这里插入图片描述
多点击几次go,就可得出flag

变量1

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);");
}
?>

一道关于正则表达式的web题,/表示的是正则表达式的开始和结束,^或\A 匹配字符串开始位置,\w匹配任意数字或字母或下划线(a-z,A-Z,0-9,_),+匹配1次或多次其前面的字符(相当于可以输入多个字符、数字、或下划线),$或者\Z匹配字符串的结束位置。

提示说flag In the variable ,直接用全局数组变量$GLOBALS可以得出所以变量的值,其中有一个变量是$$args那就构造语句,让变量成$GLOBALS即可。

http://123.206.87.240:8004/index1.php?args=GLOBALS

即可得出flag

头等舱

这个没啥好做的,抓一下包就可得出flag

本地包含

在这里插入图片描述
给了一段PHP代码,首先先来搞清一些函数:

$_REQUEST
默认情况下包含了 $_GET$_POST$_COOKIE 的数组。 
show_source() 函数
show_source() 函数对文件进行 PHP 语法高亮显示。
注释:当使用该函数时,整个文件都将被显示,包括密码和其他敏感信息!

show_source() 函数
方法一、eval函数

扫描二维码关注公众号,回复: 7564203 查看本文章

前面学习过了命令注入其中eval函数是危险函数,可以将字符串当作PHP进行解析,可以利用这个漏洞构造payload:

?hello=);show_source("flag.php");var_dump(

);闭合前面的var_dump(var_dump(闭合后面的);,构造这样的语句便可以执行我们想要的语句了。
在这里插入图片描述
但是flag不对,查了一下,发现很多人都遇到这个问题,这里应该是网站的问题,就不管了,过程最重要!

方法二:

利用file()get_file_contents函数

file_get_contents() 函数把整个文件读入一个字符串中
file() 函数把整个文件读入一个数组中。

payload:

?hello=file('flag.php')

在这里插入图片描述
payload:

?hello=file_get_contents('flag.php')

在这里插入图片描述
方法三:

这道题的题目便是本地本地包含,就用本地包含的方法来做一下:

include()函数和php://filter结合使用
php://filter可以用与读取文件源代码,结果是源代码base64编码后的结果
php://filter/convert.base64-encode/resource=文件路径

payload:
在这里插入图片描述
在这里插入图片描述
正常的话,base64解码即可,但这个题有点问题。

web5

在这里插入图片描述
查看源码,发现是jother编码
jother编码详解 在这里插入图片描述
粘贴到控制台回车即可解码,注意flag转化成大写,题目中有提示:
在这里插入图片描述

网站被黑

在这里插入图片描述
源码什么也没有,其他也没有观察出什么就用御剑扫描一下
在这里插入图片描述
有隐藏目录shell.php
在这里插入图片描述
需要输入密码才能进入,也没有任何提示,一般就是弱口令爆破了

加载字典
在这里插入图片描述
进行爆破,便可得出flag。
在这里插入图片描述

打算继续做,发现网站炸了,打不开,算了这次就先总结到这里,下次继续总结学习。

猜你喜欢

转载自blog.csdn.net/qq_43431158/article/details/91178922
今日推荐