Bugku—web题解

前言:最近做了一些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函数

前面学习过了命令注入其中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
  • 2
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值