目录

web21

web22

web23

web24

web25

web26

web27

web28


web21

打开题目显示要登陆密码

随便输入123,123抓个包试试,发现Authorization:有一串字母,拿去base64解码试试

发现是我们刚输入的账号密码

所以爆破点有了,发送到测试器

清除 §,然后在爆破点加上§

接着在payload这里直接载入从题目下载的字典

接着在有效负载处理那里添加前缀

再添加一个base64编码,同时取消勾选下面的url编码字符

接着到选项这里,调一下请求引擎,线程数建议别调太大,我前面调了200试了几次都没爆出来

爆破结束后查看就可以了

web22

em..............这题的话作者只是想让我们明白一个思路,看到一个站群,它有时候会隐藏的一些子域名,我们可以去通过在线子域名查询这个网站的工具去爆破的。flag的话直接查看hint

web23

点进题目发现是一串代码......这里要满足条件才可以输出flag。

对于这种,我们可以把需要满足的条件复制在本地中调试,得出适合的值。

可以看到得到两个满足的值422和1202,我们随便传一个就可以了。

web24

查看一下题目,令$r的整数值等于随机数mt_rand()产生的整数值,所以这题的话考点是伪随机数。

mt_srand(seed)    //播种Mersenne Twister 随机数生成器。
mt_rand()    //生成随机数

简单地说就是mt_srand()分发seed种子,然后种子有了后,靠mt_rand()生成随机数。

我们来代码测试一下

这是第一次的运行结果

我们删掉一个mt_rand()试试,让它生成两个随机数。

这时候可以看到了,当种子不变时,产生的随机数是一样的,这就是伪随机数漏洞。所以这道题我们可以传一个r=1155388967,即传第一个种子产生的值,二者相等输出flag。

更深入的可查看这篇博客Web中的随机数安全总结 - 简书 (jianshu.com)

web25

第二十五好玩了,这是一个伤心的故事。题目的逻辑是用get方法传一个r,mt_srand(seed),seed的值为md5加密$flag的前八位字符,并将加密后的值十六进制转换为十进制。

然后判断是否有rand,如果有rand的值则输出$rand;没有则进行$_COOKIE['token']==(mt_rand()+mt_rand())的比较,等于则输出flag。

解法:

我们可以传r=0让其输出第一个mt_rand()的值为625400613,通过php_mt_seed来爆破出种子

php_mt_seed - PHP mt_rand() seed cracker (openwall.com)

下载后在kali解压,如果寻求便利的话可以直接解压到桌面,右键直接打开终端

第一次运行需要先输入make命令,然后输入命令./php_mt_seed +随机数就可以查种子了

然后这题的话抓包重新发送查看响应可以发现这是php7.3版本

那么上面爆破出来的种子只有一个7.1+的

我们到本地(php版本5.4)调试一下输出,得到我们要传的第二个第三个mt_rand()相加的值。

关于为什么第一个mt_rand()的值为什么与题目不一样这个问题,可能是由于版本差异造成的,不同版本下同一个mt_srand(seed)种子产生的mt_rand()的值可能不同。

在bp传r=625400613,传这个值的原因是得到第一个mt_rand()的值为625400613,然后r-mt_rand()=0满足!$rand,才可以进行下一步$_COOKIE['token']的比较

web26

这题的话题目提示可以爆破,em......我爆破了一段时间没有爆破出来,然后就去看看源代码有什么东西

我们尝试在checkdb.php中post几个值试试,发现flag在这里

web27

这题是一个登录系统,先看一下有什么信息,发现有一个录取名单和学生学籍信息查询系统

我们点击录取名单发现弹出一个下载文件,下载后打开发现名字还有缺失的身份证号,暂时还不知道有什么用

接着继续点学生学籍信息查询系统看看,看到这个界面,联系上面得到的文档,好像可以爆破出学生的的身份证号从而完成查询。

我们输入一下web专业同学的名字(高先伊)加身份证号,中间未知的部分随便打,我们在bp抓包试试,这里有个细节,当你点击第一次查询的时候bp抓到了包,但是我们查看bp没有我们输入的部分

这时候我们返回学籍信息查询界面再点一次查询 ,同时返回bp点击放包就可以看到我们输入的东西,爆破点就找到了。

发送到intruder爆破,到这里就是我们的常规操作了,重要的是字典怎么找,首先说一下别人的简便方法吧。在位置这个地方,先清除§,然后在身份证号年月日那里添加§。

然后再payload(有效载荷)这里,类型选择日付(dates),改成这个样子确定范围

调好之后开始攻击后面查看结果得到的东西猜测是学号

然后教务系统的初始密码一般是身份证号,我们登录试试

对于字典的话,我们可以在kali用crunch这个工具制作字典,打开终端后输入命令

crunch 18 18 -t 621022199%%%%%5237 -o 1.txt  

讲一下上面的命令:

crunch的命令格式:

crunch <min-len> <max-len> [<charset string>] [options]

我们用-t命令中的%表示数字未知数 ,-o 1.txt,指定输出文件的名称。

我们得到输出的文件后从虚拟机复制到主机,然后载入就可以爆破了

查看长度,发现有一个长一点的

点进去查看响应,猜测这是学号

想深入了解一下crunch的使用可以看看这篇博客(56条消息) crunch命令详解 以及使用方法(综合我的经验)_AbonRommel的博客-CSDN博客_crunch

web28

这题题目提示大海捞针,点进去一看,确实想不到爆破点在哪,然后想啊想可能上面url那里存在问题,但我想到了爆破2.txt那里.............实际上是爆破/0/1/这个地方,爆破的时候要删去2.txt

用bp抓包之后发送的intruder,使用集束炸弹(clusterbomb)模式,不懂这几个模式区别的可以去搜一下博客看看burpsuite中intruder模块爆破的四种模式_liweibin812的博客-CSDN博客_burp intruder 模式

然后清除cookie中的§,删去2.txt,同时在/0/1/那里加上§

下一步调有效载荷(payload),有效载荷类型选择数值(numbers),同时在下面调成从0开始到100,增量为1。

切换到有效负载集(payload set)2,也是同样的调法

接下来开始爆破等结果就好了,结果的话具有一点迷惑性,无论是升序还是降序,前面很多个的长都是一样的,但细心一点,调成升序后一直划下来看看,发现有一个的长特别点,和其它的不一样(下面最后一张图)。

确实很符合大海捞针这个提示

ctfshow 爆破(web入门)相关推荐

  1. ctfshow ,web入门,sql注入题

    芜湖,刚刚考完科目三,又是开始学习的一天 web184 之前的懒得重新写了, 这里用"right join"右连接来把两个表连接起来进行查询pass字段,后面的单引号可以用16进制 ...

  2. 【CTFSHOW】web入门 NodeJS

    文章目录 写在前面 web334 web335 web336 web337 web338 web339 web340 web341 web342 web343 web344 参考资料 写在前面 web ...

  3. ctfshow web入门-sql注入

    ctfshow web入门-sql注入 web171 web172 web173 web174 web175 web176 web177 web178 web179 web180 web181 web ...

  4. Ctfshow web入门 PHP特性篇 web89-web151 全

    web入门 PHP特性篇的wp都一把梭哈在这里啦~ 有点多,师傅们可以收藏下来慢慢看,写的应该挺全面的叭- 有错误敬请斧正! CTFshow PHP web89 看题目,有个flag.php文件.题目 ...

  5. CTFshow——web入门——sql注入

    web入门--sql注入 基础知识点 判断是否注入 order by 判断列数 使用union select 判断回显 查询数据库 web171 web172 web173 web174 web175 ...

  6. [ctfshow]web入门——文件上传(web156-web163)

    [ctfshow]web入门--文件上传(web156-web163) [ctfshow]web入门--文件上传 [ctfshow]web入门--文件上传(web156-web163) web156 ...

  7. CTFShow web入门题刷题记录

    CTFShow web入门题刷题记录(信息搜集) web1 提示:开发注释未及时删除 打开网页查看源代码发现 flag:flag{2b2cf8e3-f880-41e1-a8ff-02601b3d998 ...

  8. 无字母数字rce(ctfshow web入门56)

    无字母数字rce(ctfshow web入门56) 我们根据这一题直接进入主题 //web56 <?php // 你们在炫技吗? if(isset($_GET['c'])){$c=$_GET[' ...

  9. [ctfshow web入门]常用姿势801-806

    1NDEX 0x00 前言 801 flask pin码计算 谨记!!python 3.8和3.6 pin码生成方式不同 werkzeug版本不同machine-id获取不同 python3.8 pi ...

最新文章

  1. Directive全面分析
  2. 【脚下生根】之深度探索安卓OpenGL投影矩阵
  3. AndroidStudio3.4.2 gradle5.1.1 apt注解解释器不执行
  4. tgp饥荒服务器mod文件在哪,饥荒联机版中客户端mod文件夹在哪?注意不是服务器mod!...
  5. [剑指offer]面试题17:合并两个排序的链表
  6. 第一次失效_特斯拉螺栓腐蚀失效分析_搜狐汽车
  7. 问题:Cannot assign a device for operation Variable
  8. 建立RHELAS4下面的Yum本地源
  9. Apache Parquet 与Apache ORC简介
  10. 从vmware下载到Linux环境下jdk和maven的安装
  11. 成功解决:[‘‘, ‘‘, __ob__: Observer]
  12. 数学分析(3): 函数极限
  13. 微信小程序canvas2D全新API介绍
  14. java BBS论坛
  15. 动手打造N合1操作系统安装光盘
  16. 安卓虚拟摄像头_谷歌AR新推强大功能:虚拟对象无缝嵌入,可与现实环境交互...
  17. 郑捷《机器学习算法原理与编程实践》学习笔记(第七章 预测技术与哲学)7.2 径向基网络...
  18. win10 任务栏打开直接显示【此电脑】的设置方法
  19. Unity3D 游戏引擎之FBX模型的载入与人物行走动画的播放(十二)
  20. 计算机真题模拟运算表怎么做,教大家Excel工作表中使用模拟运算表的方法

热门文章

  1. 排序 - 希尔排序
  2. 天龙八部为什么得到角色信息失败 服务器繁忙《302》,每日最大化获取活跃值的方法分享:卡到499点是关键...
  3. Host文件是什么?host文件有什么作用?
  4. EC200 EC600 EC20接入工业互联网云平台
  5. Spring工作原理。原理就是这么简单
  6. Code for VeLO 2: Training Versatile Learned Optimizers by Scaling Up
  7. 【量化投资】高频交易(HFT),下一个风口?
  8. (转)看穿机器学习(W-GAN模型)的黑箱
  9. 【论文阅读】Domain Adaptation for Deep Entity Resolution
  10. 裁剪TIF图像,代码简单,易懂(Arcpy)