从一道题中学习Soap SSRF和phar反序列化组合拳
@TOC
总结phar反序列化 + Soap SSRF + session利用
Ruby Net::FTP 模块命令注入漏洞(CVE-2017-17405)漏洞复现
漏洞简介Ruby Net::FTP 模块是一个 FTP 客户端,在上传和下载文件的过程中,打开本地文件时使用了 open 函数。而在 ruby 中,open 函数是借用系统命令来打开文件,且没用过滤 shell 字符,导致在用户控制文件名的情况下,将可以注入任意命令。Vulhub(CVE-2017-17405)
环境搭建靶机使用vulhub提供的docker
12345678910111213141516171819┌──(root💀kali)-[~]└─# cd /root/vulhub/ruby/CVE-2017-17405 ┌──(root💀kali)-[~/vulhub/ruby/CVE-2017-17405]└─# docker-compose ...
第五空间2021 Web题解
WebFTP题目是一个网站管理工具WebFTP2011,上网搜索WebFTP,可以在github中找到这个项目,从README中获取初始用户名和密码
使用说明 1、初始账号 超级管理员 admin 密码 admin888
成功登陆后寻找服务器的网站目录,随便翻看有无可疑文件,最后在phpinfo中找到flag
EasyCleanup题目给出index源码
12345678910111213141516171819202122232425262728293031323334353637383940<?php if(!isset($_GET['mode'])){ highlight_file(__file__); }else if($_GET['mode'] == "eval"){ $shell = isset($_GET['shell']) ? $_GET['shell'] : 'phpinfo();'; ...
长安战疫cazy wp
Web部分0x01 RCE_No_Para1234567891011<?phpif(';' === preg_replace('/[^\W]+\((?R)?\)/', '', $_GET['code'])) { if(!preg_match('/session|end|next|header|dir/i',$_GET['code'])){ eval($_GET['code']); }else{ die("Hacker!"); }}else{ show_source(__FILE__);}?>
正则匹配/[^\W]+\((?R)?\)/\W 元字符用于查找非单词字符。单词字符包括:a-z、A-Z、0-9,以及下划线。故[^\W]可以匹配所有单词字符+表示可以匹配一个或多个\(和\)为左 ...
THUCTF2021 wp
Web方向:showmeyourlove(baby)
web的第一道题目,比较简单,点击yes后发现ip地址不对,可以想到需要进行ip地址伪造
抓包后可以发现返回的报文中含有where_is_heart,可以猜到我们需要伪造的ip地址就是172.17.0.1
我们点击yes后,抓包修改请求头部,添加X-Forwarded-For字段,值为172.17.0.1
发包后直接得到flag
showmetrick123456789101112131415161718192021222324252627282930313233343536373839404142434445 <?phperror_reporting(0);highlight_file(__FILE__);$var1 = $_GET['var1'] ?: '';$var2 = $_GET['var2'] ?: '';$var3 = $_GET['var3'] ?: '';$var4 = $_GET[ ...
东软杯 DNUICTF-Web(部分)
[签到] flag
把得到的字符拼接再b64解码得到flag
odd_upload题目环境中有一个文件上传功能,还可以指定保存路径,经过简单尝试后发现本题后端黑名单包括了php和apache配置文件,但是没有包括tpl模板文件smarty框架的模板文件存放在/templates中,可以直接上传同名的index.tpl文件来覆盖原本的tpl文件进行模板注入
成功上传后访问index.php看看渲染的输出
直接在环境变量中找到flag
easyinject打开题目是一个简单的登陆界面,在注释中找到一对用户名和密码尝试登陆后,提示flag是一个特殊的用户名,由a-z0-9_组成,看到题目时都会想到需要sql盲注得到用户名,但是尝试各种payload后发现无效
经过尝试,当输入的值中含有括号时会产生如上报错,从报错信息中可知登陆信息是存储在LDAP数据库中的,关于LDAP的介绍可以看这位大佬的博客LDAP的注入与防护
经过简单判断可以大致推测登陆的后端检验语句应该是这样的(&(USER=Uname)(PASSWORD=Pwd)) 用&来连接两个条件对数据库中的数据进行查询传 ...
东软杯 DNUICTF-Misc(部分)
ecryptedzip附件是一个加密的压缩包,但是文件名都是可以看到的,比赛时我首先想到的爆破密码,但是爆了6位都没有成功,后来又尝试了crc32爆破,也没有成功
本题主要考察zip明文攻击,之前没做过类似的题目,赛后对着官方的wp做了一遍,学习一下
压缩包中有两个文件,一个是LICENSE开源协议文件,一个是README.md文件,初看可能无法想到如何拿到明文,我们可以先从网上下载常见的开源协议文件,并将文件大小与压缩包内的LICENSE进行对比,从而得到用于攻击的明文找遍了所有的LICENSE终于找到一个大小一模一样的,但压缩后的crc32还是不同,后来尝试了很久都没能找到crc一致的明文文件(官网wp说能找到一样的,那就当能找到吧,反正我没找到)
于是尝试另外一种方法,用已知明文的连续若干字节进行爆破这里使用的工具是bkcrack首先构造一个已知的部分密文文件,这里构造的文件名为1,内容为多个空格,因为协议文件的开头通常有很多空格,所以在不知道具体文件的情况下可以用多个空格作为已知明文用bkcrack得到keys后再拿keys将压缩包中的LICENSE输出出来用输出的re.txt ...
Base编码方式以及隐写原理
前言base编码是一种常见的编码方式,常见的有base64、base32、base16,最近在做题时碰到了一道base隐写的misc题目,于是上网学习了一下base的编码方式以及隐写原理
春秋杯2021-勇者山峰 secret_chart
打开附件是一张png图片用010查看图片发现存在PK文本,分离出压缩包该压缩包需要解压密码,但本题没用给出任何提示,只能使用工具爆破密码为9572,解压后得到表格将表格合并后得到24*24的列表,想到可能是二维码,于是把所以为1的格子全部设置为黑色,得到Data Matrix码用DataMatrix二维码在线解码工具解析可以得到flag
zfua{B3s1o9in1Nw0halUnofuNc0HM1}使用凯撒密码解析
得到flag
春秋杯2021-勇者山峰 helloshark
本题附件打开是一个bmp图片尝试用010查看该文件,搜索PK文本发现文件末尾隐藏了一个压缩包将后缀名改为zip后打开压缩包,发现有两个文件,但是解压需要密码,其中有提示说密码在图片中。尝试各种工具来解析这个图片,最后可以用zsteg来得到压缩包密码
1zsteg -a 文件名
用密码解压文件,用wireshark打开流量包追踪tcp流得到疑似flag的字符串文本写脚本跑出结果
123456789import base64flag=''for line in open("ws.txt"): rs = line.replace('\n', '') if "cmd.realMsg..privateMsg" in rs: tmp=rs.split('||') flag+=tmp[0][-1] print(flag)