2020极客大挑战Web题
前言
wp是以前写的,整理一下发上来。
不是很全。
2020 极客大挑战 WEB
1、sha1碰撞
题目
图片:
思路
- 题目说,换一种请求方式。于是换成post。得到一给含有代码的图片
图片:
分析该图片,得知只有传承的roam1和roam2的值不相等,而且SHA1加密后的值相同才会出现flag
php对数组进行sha1加密都为false。所以我们传入两个数组进去
构造payload
roam1[]=1&roam2[]=2 //这是post传数组的特定形式。
成功打开phpinfo()
图片:
- 查找flag,发现没有。但是发现个目录
图片:
- 访问该目录,发现页面不存在
图片:
- 换个思路,去抓个包。发现flag
图片:
2、csrf提交
题目
图片:
网站
图片:
解题思路
第一步肯定是要注册啦。没有账号玩个锤子
注册用户xxxxxx
进行一番研究后,发现最底下有个flag出售,但是卖得好贵。而我只有11元
看了下主页排行榜和报告发现里面有信息
图片1:
发现只有Longlone这个人的账户最有钱。是无限的
图片2:
发现了他会定期查看报告。
思考是什么漏洞
现在有xss漏洞。我们可以获得访问我们报告的那个人的cookie。进而去买flag
有修改金额漏洞,去个10元钱的东西,抓包改成买flag的(这个以前很流行)
有批量注册账号,然后都往一个账号转账的,因为每一个账号都有11元。但是这工作量巨大。
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
进入scrabble文件
执行命令,下载git源码
./scrabble http://47.100.46.169:3902/
查看
ls -a 查看当前目录所有内容
cat fl4g 查看flag文件
git log 查看git修改日志
图片:
可以看到有两个版本,因为这个版本没什么信息,接下来要切换版本。
切换git版本,并查看flag
git reset --hard
图片:
6、我是大黑客
题目
图片:
- 打开http://39.106.144.160:100/liuzhuang.php.bak
下载
- 看源码,知道了后门密码
图片:
- 菜刀连接
图片:
7、linux敏感目录
题目
图片:
思路
根据页面提示,flag在主目录中。而且下面一段代码被注释掉了,应该没有太大价值。
看看url,发现变量名是phpfile,应该是指文件,这应该有php伪协议。但我们先试一下任意目录读取
过程
访问/etc/passwd文件
payload: http://47.94.239.194:8082/displaySourceCode.php?phpfile=/etc/passwd
得到了一堆数据,说明可能存在任意目录读取
访问/proc/mount 文件,该文件记录了系统挂载设备的一些信息。会有大量数据泄露
图片:
- 访问该目录下的flag文件,得到flag
图片:
2020极客大挑战Web题的更多相关文章
- Syclover 第十次极客大挑战web题题解
这次有空的时候报名参加了一下三叶草的招新比赛,比赛时间是一个月,题目都挺基础挺好玩的,在这里记一下自己的题解同时把自己没有做的题目也跟着writeup做一遍 第一题:cl4y:打比赛前先撸一只猫!: ...
- 三叶草极客大挑战2020 部分题目Writeup
三叶草极客大挑战2020 部分题目Writeup Web Welcome 打开后状态码405,555555,然后看了一下报头存在请求错误,换成POST请求后,查看到源码 <?php error_ ...
- [原题复现][极客大挑战 2019]BuyFlag
简介 原题复现:[极客大挑战 2019]BuyFlag 考察知识点:php函数特性(is_numeric().strcmp函数()) 线上平台:https://buuoj.cn(北京联合大学公开 ...
- 2016第七季极客大挑战Writeup
第一次接触CTF,只会做杂项和一点点Web题--因为时间比较仓促,写的比较简略.以后再写下工具使用什么的. 纯新手,啥都不会.处于瑟瑟发抖的状态. 一.MISC 1.签到题 直接填入题目所给的SYC{ ...
- BUUOJ [极客大挑战 2019]Secret File
[极客大挑战 2019]Secret File 0X01考点 php的file伪协议读取文件 ?file=php://filter/convert.base64-encode/resource= 0X ...
- 极客大挑战2019 http
极客大挑战 http referer 请求头 xff 1.查看源码,发现secret.php 2.提示要把来源改成Sycsecret.buuoj.cn,抓包,添加Referer Referer:htt ...
- BUUCTF-[极客大挑战 2019]BabySQL(联合注入绕过waf)+[极客大挑战 2019]LoveSQL(联合注入)
BUUCTF-[极客大挑战 2019]BabySQL(联合注入绕过waf) 记一道联合注入的题,这道题存在过滤. 经过手工的测试,网站会检验用户名和密码是否都存在,如果在用户名处插入注入语句,语句后面 ...
- web刷题记录 极客大挑战2019Knife upload buy a flag
极客2019Knife webshell就是以asp.php.jsp或者cgi等网页文件形式存在的一种代码执行环境,主要用于网站管理.服务器管理.权限管理等操作.使用方法简单,只需上传一个代码文件,通 ...
- ctf--web刷题记录 ACTF2020back up file 、极客大挑战2019php、secret file
ACTF2020back up file backup file指的是备份文件,一般备份文件的后缀有".git" .".svn"." .swp&quo ...
随机推荐
- MySQL-DB-封装-入门版
<?php class MysqlDb{ public $host = "127.0.0.1"; public $user = "root"; publi ...
- kkFileView部署到windows服务出现问题解决
1.部署之后执行出现api-ms-win-crt-runtime-l1-1-0.dll丢失的办法 微软官网下载vc_redist.x64.exe vc_redist.x86.exe 64位的操作系统需 ...
- Mybatis将mapper映射文件配置到recources下
关于为什么要将Mybatis的mappers.xml文件配置到resources目录下的粗浅看法: (1).使文件目录更加清晰.resources文件目录下通常为配置文件,所以将Mappers.xml ...
- 端口转发工具--lcx
简介 lcx是一款强大的内网端口转发工具,用于将内网主机开放的内部端口映射到外网主机(有公网IP)任意端口.它是一款命令行工具,当然也可以在有权限的webshell下执行,正因如此lcx常被认为是一款 ...
- 深入理解Java虚拟机-垃圾收集算法
一.判断对象是否可进行回收 1.引用计数算法 给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1:当引用失效时,计数器值就减1:任何时刻计数器为0的对象就是不可能再被使用的.但是主流的 ...
- 细说【json&pickle】dumps,loads,dump,load的区别
1 json.dumps() json.dumps()是将字典类型转化成字符串类型. import json name_emb = {'a':'1111','b':'2222','c':'3333', ...
- 学习openstack(八)
一.OpenStack初探 1.1 OpenStack简介 OpenStack是一整套开源软件项目的综合,它允许企业或服务提供者建立.运行自己的云计算和存储设施.Rackspace与NASA是最初 ...
- mybatis源码之我见
以前一直想看mybatis的源代码,但是一直没找到入口(傻),最近看教程,有些感悟. 和起以前一样,关键代码我会用红色标记. 首先,先贴下我的dao和mapper,代码很简单,和平时写的hello w ...
- Vue报错之"[Vue warn]: Avoid mutating a prop directly since the value will be overwritten whenever the parent component re-renders. Instead......"
一.报错截图 [Vue warn]: Avoid mutating a prop directly since the value will be overwritten whenever the p ...
- 理解OIDC协议和认证机制
当互联网应用越来越多,每个应用程序都实现了自己的身份存储.认证和授权,用户需要在应用上反复的注册与登录,体验糟糕,用户身份信息无法在多个应用间共享与同步.当使用企业应用时,企业提供了一系列应用,尽管是 ...