前言

wp是以前写的,整理一下发上来。

不是很全。

2020 极客大挑战 WEB

1、sha1碰撞

题目

图片:



思路

  1. 题目说,换一种请求方式。于是换成post。得到一给含有代码的图片

图片:



  1. 分析该图片,得知只有传承的roam1和roam2的值不相等,而且SHA1加密后的值相同才会出现flag

    php对数组进行sha1加密都为false。所以我们传入两个数组进去

  2. 构造payload

    roam1[]=1&roam2[]=2 //这是post传数组的特定形式。

  3. 成功打开phpinfo()

图片:



  1. 查找flag,发现没有。但是发现个目录

图片:



  1. 访问该目录,发现页面不存在

图片:



  1. 换个思路,去抓个包。发现flag

图片:



2、csrf提交

题目

图片:



网站

图片:



解题思路

  1. 第一步肯定是要注册啦。没有账号玩个锤子

    注册用户xxxxxx

  2. 进行一番研究后,发现最底下有个flag出售,但是卖得好贵。而我只有11元

  3. 看了下主页排行榜和报告发现里面有信息

图片1:



发现只有Longlone这个人的账户最有钱。是无限的

图片2:



发现了他会定期查看报告。

思考是什么漏洞

  1. 现在有xss漏洞。我们可以获得访问我们报告的那个人的cookie。进而去买flag

  2. 有修改金额漏洞,去个10元钱的东西,抓包改成买flag的(这个以前很流行)

  3. 有批量注册账号,然后都往一个账号转账的,因为每一个账号都有11元。但是这工作量巨大。

  4. csrf,让管理员去请求转账的页面。完成对我们的转账

思路

验证码用md5批量加密,找到符合的就行

细节:报告文本框里可以填入链接,后台管理员会自己点。不需要放xss脚本

1. 用xss拿到了管理员的cookie。但是管理员的cookie名称为token,我们的为PHPSESSID。所以没用

2. 计划构造一个csrf的POC,生成一个页面,部署到公网服务器上。把该服务器网络url粘贴到报告框,拿去给机器人访问

开始渗透

1. 计算验证码的

图片:



2. 去转帐页面,填入给我们转账的信息,以及金额,最后用burp抓表单包,再右键生成csrf网页

图片1:



图片2:



图片3:



3. 但是burp的POC不具备自动提交表单的js代码。我们自己写一段自动提交表单js插入进去

图片4:



4. 这时候把代码部署到远程服务器上,我的是用ngrok的内网穿透服务器

5. 报告内容填上我们kali的ngrok内网穿透地址 http://lowkey.free.idcfengye.com/test.html

6. 计算出验证码提交

图片5:



7. 等待一会后,转账到了。马上就去买flag。

图片6:



图片7:



小tips

最好先自己本地复现一下构造的POC是否有用。抓包看下提交表单出去没有即可。

3、备份文件下载

有些人喜欢备份网页php

一般备份网页php的目录:

图片:



这题wp我没写完,应该是找到那个文件,里面就有flag。

4、刘壮的黑页

get请求和post请求一起发

图片:



5、githcak

介绍

当前大量开发人员使用git进行版本控制,对站点自动部署。如果配置不当,可能会将.git文件夹直接部署到线上环境。这就引起了git泄露漏洞。

危害

Git信息泄露的危害很大,渗透测试人员、攻击者,可直接从源码获取敏感配置信息(如:邮箱,数据库),也可以进一步审计代码,挖掘文件上传、SQL注射等安全漏洞。FreeBuf之前也有相关报道

githack工作原理

1、解析.git/index文件,找到工程中所有的: ( 文件名,文件sha1 )

2、去.git/objects/ 文件夹下下载对应的文件

3、zlib解压文件,按原始的目录结构写入源代码

scrabble工具

首先

git clone https://github.com/denny0223/scrabble
  1. 进入scrabble文件

  2. 执行命令,下载git源码

    ./scrabble http://47.100.46.169:3902/

  3. 查看

    ls -a 查看当前目录所有内容

    cat fl4g 查看flag文件

    git log 查看git修改日志

图片:



可以看到有两个版本,因为这个版本没什么信息,接下来要切换版本。

  1. 切换git版本,并查看flag

    git reset --hard

图片:



6、我是大黑客

题目

图片:



  1. 打开http://39.106.144.160:100/liuzhuang.php.bak

下载

  1. 看源码,知道了后门密码

图片:



  1. 菜刀连接

图片:



7、linux敏感目录

题目

图片:



思路

  1. 根据页面提示,flag在主目录中。而且下面一段代码被注释掉了,应该没有太大价值。

  2. 看看url,发现变量名是phpfile,应该是指文件,这应该有php伪协议。但我们先试一下任意目录读取

过程

  1. 访问/etc/passwd文件

    payload: http://47.94.239.194:8082/displaySourceCode.php?phpfile=/etc/passwd

    得到了一堆数据,说明可能存在任意目录读取

  2. 访问/proc/mount 文件,该文件记录了系统挂载设备的一些信息。会有大量数据泄露

图片:



  1. 访问该目录下的flag文件,得到flag

图片:



2020极客大挑战Web题的更多相关文章

  1. Syclover 第十次极客大挑战web题题解

    这次有空的时候报名参加了一下三叶草的招新比赛,比赛时间是一个月,题目都挺基础挺好玩的,在这里记一下自己的题解同时把自己没有做的题目也跟着writeup做一遍 第一题:cl4y:打比赛前先撸一只猫!: ...

  2. 三叶草极客大挑战2020 部分题目Writeup

    三叶草极客大挑战2020 部分题目Writeup Web Welcome 打开后状态码405,555555,然后看了一下报头存在请求错误,换成POST请求后,查看到源码 <?php error_ ...

  3. [原题复现][极客大挑战 2019]BuyFlag

    简介  原题复现:[极客大挑战 2019]BuyFlag  考察知识点:php函数特性(is_numeric().strcmp函数())  线上平台:https://buuoj.cn(北京联合大学公开 ...

  4. 2016第七季极客大挑战Writeup

    第一次接触CTF,只会做杂项和一点点Web题--因为时间比较仓促,写的比较简略.以后再写下工具使用什么的. 纯新手,啥都不会.处于瑟瑟发抖的状态. 一.MISC 1.签到题 直接填入题目所给的SYC{ ...

  5. BUUOJ [极客大挑战 2019]Secret File

    [极客大挑战 2019]Secret File 0X01考点 php的file伪协议读取文件 ?file=php://filter/convert.base64-encode/resource= 0X ...

  6. 极客大挑战2019 http

    极客大挑战 http referer 请求头 xff 1.查看源码,发现secret.php 2.提示要把来源改成Sycsecret.buuoj.cn,抓包,添加Referer Referer:htt ...

  7. BUUCTF-[极客大挑战 2019]BabySQL(联合注入绕过waf)+[极客大挑战 2019]LoveSQL(联合注入)

    BUUCTF-[极客大挑战 2019]BabySQL(联合注入绕过waf) 记一道联合注入的题,这道题存在过滤. 经过手工的测试,网站会检验用户名和密码是否都存在,如果在用户名处插入注入语句,语句后面 ...

  8. web刷题记录 极客大挑战2019Knife upload buy a flag

    极客2019Knife webshell就是以asp.php.jsp或者cgi等网页文件形式存在的一种代码执行环境,主要用于网站管理.服务器管理.权限管理等操作.使用方法简单,只需上传一个代码文件,通 ...

  9. ctf--web刷题记录 ACTF2020back up file 、极客大挑战2019php、secret file

    ACTF2020back up file backup file指的是备份文件,一般备份文件的后缀有".git" .".svn"." .swp&quo ...

随机推荐

  1. 您的请求在Web服务器中没有找到对应的站点”这是什么原因?出现这个界面说明域名解析已经正确并生效,这是由于域名没有绑定好,

    宝塔出现 您的请求在Web服务器中没有找到对应的站点"这是什么原因?出现这个界面说明域名解析已经正确并生效,这是由于域名没有绑定好 , 本人经过测试使用如下方法解决.允话空HTTP_REFE ...

  2. 04 变量 变量作用域 常量final 变量的命名规范

    变量 变量是什么:就是可以变化的量! Java是一种强类型语言,每个变量都必须声明其类型. Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域. 注意事项: 每个变量都有类型,类 ...

  3. 新的ASP.NET Core 迁移指南

    最近在微信里做了一个调查: Web Forms应用程序升级到.NET 6, 收到550份调查,调查还在继续,欢迎参与调查.可以访问链接:https://wj.qq.com/s2/9822949/ac3 ...

  4. CSS自定义属性与前端页面的主题切换

    基于级联变量的CSS自定义属性,已经出来很多年了. 虽然有less.sass等预处理器大行其道,但是自定义属性也有它的特点和用处,诸如在js中读写.作用域设置等等,在处理UI主题切换等功能上也发挥着很 ...

  5. TypeScript 初体验

    TypeScript学习 1 安装环境 a 首先安装node.js node.js 用来将ts文件解析成js文件 供浏览器使用: 解析ts文件 tsc filename.ts b. 使用npm (no ...

  6. 【文件系统】dumpe2fs命令

    dumpe2fs - dump ext2/ext3/ext4 filesystem information dumpe2fs prints the super block and blocks gro ...

  7. (leetcode)二叉树的前序遍历-c语言实现

    给定一个二叉树,返回它的 前序 遍历. 示例: 输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,2,3] 进阶: 递归算法很简单,你可以通过迭代算法完成吗? 前序遍历 前序遍历首先 ...

  8. Redis的Unable to connect to Redis和java.io.IOException: 远程主机强迫关闭了一个现有的连接问题的解决

      学习项目xhr系统用到springboot + vue(https://github.com/lenve/vhr),文档中要求使用到RabbitMQ,但是从我搭建开发环境来看,是否配置Rabbit ...

  9. sql注入之查询方式及报错注入

    当进行sql注入时,有很多注入会出无回显的情况,其中不回显的原因可能是sql语句查询方式的问题导致的,这个时候我们需要用到相关的报错或盲注进行后续操作,同时作为手工注入时,提前了解或预知器sqkl语句 ...

  10. 从0到1搭建k8s集群系列1:安装虚拟机及docker

    前言 本系列文章记录了本人学习k8s集群搭建的过程,从k8s基本组件的安装.到部署mysql服务到k8s集群.部署web项目到k8s集群以及安装可视化界面管理工具kuboard. 因为k8s的组件安装 ...