1.2022Pwnhub春季赛相关体验及wp
2.基于 MQTT 协议的 IoT 物联网设备已成为黑客攻击的头号载体和目标
3.pwn基础— Got表劫持
4.CTF基础知识及web
5.广东省第三届强网杯Writeup
6.如何开启samp模式
2022Pwnhub春季赛相关体验及wp
首次参加Pwnhub举办的大型公开赛,体验令人满意。Pwnhub的声誉名副其实,比赛中只有四个解题,且难度集中在easyrop。比赛前期的游戏源码搭建费用宣传充分到位,Pwnhub历来以举办公开月赛闻名,此次公开赛规模空前,奖励丰厚。
比赛题目多样,涵盖了web、misc、crypto、re、pwn等多个方向,还加入了ACM、OCR、以及汇编等不同类型的题目,甚至引入了网页版的传奇游戏,以减轻比赛的枯燥性。题目设计全面,从多个方面考验参赛者的个人能力。
比赛流程流畅,靶机启动迅速,不限制数量,后期取消了靶机时间限制,但在所有靶机都开放在同一IP地址上,端口号可以遍历,加之不是动态flag,可能导致蹭取flag的情况。
首次在CTF比赛中遇到使用Flash游戏的题目,新颖有趣,促使我迅速安装Flash并进入主办方设置的游戏。游戏类题目共有四个小题,最后一个题需要获取服务器的奇点指标源码shell,可以视为半个web挑战。
注册账号,创建角色登录游戏,发现公告栏中明确显示了flag,十分友好。下一步是购买题目中的元宝召唤道具,但需要通过抽奖将绑定元宝转化为元宝,再购买。打死召唤出的怪物后,会掉落flag之书1,注意掉落的flag之书可以被其他玩家捡走,谨防被抢,我的flag为flag{ nonono_notmola}。
主办方放出服务器源码,虽然经过修改,但仍能从中找出一些漏洞。从log.php中可以获取生成token的密钥,允许任意用户登录其他账户。在log.php中,理论上存在注入漏洞,但线上复现不成功。web方面的其他漏洞未能发现,获取shell需要对游戏服务器文件进行逆向工程。
web部分考察知识新颖且难度适中。在EzPDFParser中,通过java写的PDF解析器在解析PDF时触发log4j2漏洞,搭建恶意JNDI服务器,修改PDF文件即可触发漏洞。在easyCMS中,通过测试MySQL联通性,利用MySQL读取文件,通过Rogue-MySql-Server实现,使用PHP脚本操作。
在baby_flask中,源码播放链接利用flask模板渲染不会更新的问题,通过生成个模板并在缓存刷新时执行payload,即可获取flag。Misc部分需要使用裸眼3d技巧,借助stegsolve工具将两张图分开,获取flag{ nice_pwnhub}。在其他页面的签到中,通过关于页面的视频中的二维码找到flag。
比赛持续小时,时间较长,但某些类别的题目数量似乎不是很多,如web部分,队伍数量较多,完成三个题后,期待后期上新题,可惜未能如愿。整体体验良好,通过赛题学习到许多知识,期待Pwnhub举办更多类似的公开赛!
基于 MQTT 协议的 IoT 物联网设备已成为黑客攻击的头号载体和目标
在Forrester最新的年物联网安全报告中,MQTT协议驱动的物联网设备已凸显为黑客首要的攻击目标和猎物。 物联网设备的安全隐患源自其设计缺陷,如普遍采用默认密码,这使得它们容易遭受黑客入侵。随着IoT设备承担越来越多关键任务,它们的高价值特性使得它们成为黑客的首要攻击目标,据统计,年工业计算机受攻击比例达到.3%,仅年上半年,针对IoT设备的攻击次数已突破亿次。 MQTT协议,因其对低带宽、不稳定网络的适应性,广泛应用于如下的循迹模块源码场景:发布/订阅消息模式,支持一对一或多对多消息传递
基于TCP/IP传输数据
简化数据包格式
默认使用TCP的端口,部分服务采用(WebSocket)或(TLS加密)
MQTT协议的核心包括发布者、订阅者、代理(BROKER)以及主题(TOPIC),消息由发布者发布到主题,订阅者通过BROKER接收。然而,这一便利性也为潜在攻击提供了可乘之机。 攻击者可以利用MQTT协议的漏洞和开源工具,如mqtt-pwn,进行非法操作。如无安全措施,匿名访问和默认配置可能导致恶意用户轻易接入。攻击者通过connect命令连接服务器,获取系统信息并窃取topic信息。 为了加强MQTT的安全,建议采取以下措施:关闭匿名访问,实施用户身份验证
优先使用TLS/DTLS加密,保护数据免受中间人攻击
加密Payload数据传输
使用最新安全版本的服务端软件
避免在公开平台公开源代码
以上信息由IoT物联网技术于年8月日在上海发布,引用请留意版权事宜。pwn基础— Got表劫持
随着技术的发展,攻击者越来越重视对软件的深入理解,其中对GOT(全局偏移表)的劫持技术成为了渗透测试中的一种重要手段。本文将对GOT表劫持的基础知识进行深入讲解,包括其原理、流程、检测方法、保护机制、源码分析以及利用脚本的编写和动态调试分析。
程序信息方面,我们以ELF程序为例。由于延迟绑定机制的存在,GOT是可以被修改的,这为攻击者提供了任意控制程序流程的源码跳广告可能性。劫持原理主要分为两步:首先,在未执行漏洞函数前,GOT中的特定地址存储着真实的函数地址;然后,通过执行漏洞函数,将该地址修改为攻击者想要的函数地址,如system函数,从而在再次调用原函数时,其行为被改变了。
检测保护机制时,通常使用检查安全工具来分析程序的安全性。在本例中,程序仅开启了Canary保护和部分RELRO保护,这意味着堆、栈、BSS段代码可执行,但GOT仍然可写。这为GOT劫持提供了条件。保护机制的全称为RELRO(Relocation Read-Only),通过设置全RELRO,可以防止GOT劫持,因为在加载时将所有函数绑定完成,GOT被设置为不可写。
分析源码是理解攻击流程的关键步骤。题目直接提供了源码,通过仔细阅读,我们可以发现puts@plt地址和全局变量name的地址,这是进行GOT劫持和shellcode注入的基础。
编写利用脚本是将理论知识转化为实践的环节。通过编写并执行exp脚本,成功实现了getshell,验证了攻击流程的有效性。动态调试分析提供了更直观的视角,通过在关键位置设置断点,观察内存内容的变化,确认shellcode的注入和目标地址的修改,最终实现目标函数的劫持。
综上所述,GOT表劫持技术是渗透测试领域中一种复杂且强大的攻击手段。通过深入了解其原理、流程、保护机制和利用方法,可以有效提升安全意识和防御能力。对于开发者而言,及时更新安全保护机制,如全RELRO保护,可以有效防止GOT劫持,保障软件的安全性。
CTF基础知识及web
探索CTF世界:网络安全竞赛概览 CTF,全称Capture the Flag,是网络安全领域的一项刺激而富有挑战性的竞赛,起源于DEFCON大会,涵盖了各种形式的攻防比拼,如解题、攻防混合等。在这些赛事中,参赛者通过破解技术难题,获取神秘的Flag,展示技能的同时,也提升了网络安全素养。 国际舞台上的知名赛事包括:DEFCON CTF(国际影响力)- 解题模式与攻防模式的双料盛宴
UCSB iCTF- 美国大学间的解题竞技
Plaid CTF- 美国的解题与攻防混合赛事
国内赛事同样精彩纷呈,如:XCTF- 全国联赛,全面挑战解题能力
AliCTF- 阿里巴巴主办,专为学生设计
KCTF- 看雪杯,攻防并重的实战舞台
XDCTF- 西安电科大,实战与理论的结合
HCTF- 杭州电科大,解题与团队合作并重
还有像企业安全集团赞助的国家级CTF,为参赛者提供了丰富的学习资源和实战机会。学习CTF的关键在于理解并掌握不同类型的赛题,如逆向工程、密码学、Web安全等,然后逐步提升技能。 从低级赛题如PWN(Payload Writing)和Reverse Engineering(逆向工程)开始,逐渐挑战Crypto(密码学)和Misc(杂项),深入研究经典赛题。团队需要具备Linux基础,A方向选手需要精通逆向工程和密码学知识,B方向选手则需专精Web安全领域。 推荐书籍包括逆向工程教程、操作系统逆向指南,以及Web安全指南和渗透测试教程。实战环节中,熟悉备份文件下载、PHPINFO、网站源码、vim缓存和.DS_Store等基础知识,能有效提升解题效率。 最后,参加这些比赛不仅仅是争夺荣誉,更是提升网络安全技能,扩大知识视野的绝佳途径。探索CTF世界,你准备好了吗?广东省第三届强网杯Writeup
原创:Team合天智汇
原创投稿活动:重金悬赏 | 合天原创投稿等你来
没有检查偏移,有数组越界
sleep有多线程竞争
解题思路:主要是利用多线程竞争时候的sleep(3),run后把对应的堆块free掉之后,可以泄露地址。本地远程同时测试得到环境是libc2.,用ubuntu.直接跑测试,然后通过填满tcache来泄露libc,然后通过run来修改fd为free_hook,然后再malloc两次,第二次写free_hook为system地址,再delete直接getshell。
PWN是CTF赛事中主流题型,主要考察参赛选手的逆向分析能力以及漏洞挖掘与Exploit利用编写能力。相关PWN的学习可到合天网安实验室学习实验——CTF-PWN系列汇总
CTF-PWN系列汇总(合天网安实验室)
1. 小明又被拒绝了
修改XFF:.0.0.1,admin=1
2. XX?
尝试使用XXE攻击
伪协议读取flag.php
使用\分割即可:%3Bc\at%%7BIFS%7Din\dex.p\hp
3. Ping一下
发现cat,使用\分割即可:%3Bta\il%%7BIFS%7D-1%%7BIFS%7D/fl\ag
4. PHP
采用取反的方式,最后url编码
5. API
尝试post数据,发现json_decode,尝试发送json格式
读到源码,发现存在信息泄露,尝试读取以上文件,卡了很久,通过跳转目录读取,构造序列化读取fffffaa_not.php,绕过正则,读到源码,写入shell
CTFMisc实战学习 课程:XCTFMisc实战(合天网安实验室)
1. 完美的错误
解密脚本
2. 撸啊撸
修复头,用大小端方式改了放进ida里看看,修复后简单
3. 脑筋急转弯
对音频分析,提取zip包,尝试3进制转化,寻找等价字符,最终脑fuck解密得到flag
隐写(Stegano)与取证分析(Forensics)是CTF竞赛中的主要题型之一,主要考查参赛选手的对各种隐写工具、隐写算法以及取证分析流程的熟悉程度
1. 美好的回忆
类似于CBC加密模式,利用已知明文、密文,得到密钥,解密获得明文
2. 悲伤的结局
同样类似于CBC加密模式,利用填充和已知明文,得到密钥,解密获得明文
3. RSA
利用类似RSA私钥恢复的技巧,找到n的结尾,利用RSA解密方法求解明文
4. 老王的秘密
用于分享与普及网络知识,与合天智汇及原作者无关!
如何开启samp模式
samp 全称 San Andreas Multi Player。是一款圣安地列斯的联机MOD。sample开启方式如下:
1、将服务端解压在一个文件夹内.
以下为文件用处
filterscripts - 脚本文件夹, 用于放置脚本
gamemodes - 游戏模式文件夹, 用于放置主地图
include - inc 文件, 里面自带了2枚 inc, 提供了一些函数, 可自行查看.
npcmodes - npc文件夹, 用于放置npc文件, 以供于地图或脚本引用.
pawno - 自带的脚本编辑器
plugins - 用于放置插件
scriptfiles - 用于放置文件, 比如配置文件, 保存数据等.
announce.exe - 不明
samp-license.txt - samp许可说明文档
samp-npc.exe - 用于连接 npc.
samp-server.exe - 服务端开启
server.cfg - 服务端配置文件
server-readme.txt - 说明文件
samp.ban - 封锁信息
2、打开 server.cfg.
server.cfg 各项功能如下
echo - 显示,一般不需要修改
lanmode - 局域网模式
rcon_password - RCON 密码
maxplayers - 最大玩家数
port - 端口
hostname - 服务器名「服务器名会乱码, 需要在脚本内, 用代码修改」
gamemode0 - 游戏模式
filterscripts - 游戏脚本
announce - 不明
query - 不明
weburl - 自己的网址
onfoot_rate - 步行速度
incar_rate - 车辆速度
weapon_rate - 武器速度
stream_distance - 渲染距离
stream_rate - 渲染速度
maxnpc - 最大NPC
logtimeformat [%H:%M:%S] - log 文件的赋予格式
language - 语言
服务端一开始就可以运行,之所以会闪退,是因为 rcon 密码没有修改.
将 rcon_password changeme 中的 changeme 修改为自己的密码.
千万不要设置的过于简单, 这个指令可以重启服务端, 管理服务端等等。
3、filterscripts 自带脚本说明
.pwn 格式为源代码文件
.amx 格式为编译文件
可以使用自带编辑器进行编译.
以下为各个自带脚本的用处
a_base - 基础脚本
说明: 删除了围栏,添加了可以打开关闭的大门等等
adminspec - 管理员监视
说明: 使用 /specplayer 可以在游戏中, 观察其他玩家。
attachments - 附身脚本
说明: 指令 /attachments
base - 基础脚本
说明: 内含指令 /pm [私聊] /kick [踢出] /ban [封锁]
baseaf - 基础脚本
说明: 上一个脚本的加强版。
cargoship - 运输船
说明: 一首在移动的运输船, 用于测试插值移动, 指令 /boardship
dillimore_gas - 不明 似乎是用于测试删除建筑物
ferriswheel - 摩天轮脚本
flymode - 飞行模式
说明: 可用于拍摄等,指令 /flymode
fsdebug - 调试脚本
gl_actions - 动作脚本
说明: 使用 /animlist 查看动作列表
gl_chat - 聊天脚本
说明: 内置数个指令, 可用于RP服
gl_chatbubble - 聊天气泡
说明: 指令 /me
gl_mapicon - 地图图标
说明: 加载后, 当玩家进入游戏,地图会自动创一些图标。
gl_npcs - NPC脚本
说明: 加载后, 会自动创建一些 NPC 当任司机和航班驾驶员
gl_property - 产业脚本
说明: 脚本会提供一些指令让你创建房产等等。
gl_realtime - 真实时间
说明: 加载后, 脚本会根据现实时间, 来调整游戏时间。
stats - 查看NET链接情况
npc_record - npc录制, 用于录制npc文件
ospawner - 换皮肤脚本
说明: 指令/ospawner
pirateship - 船脚本
说明: 加载后会创建一个船在海上移动,用于测试插值旋转
pnetstats - 查看管理员玩家net连接状态
pnetstats2 - 同上
safe_animated - 安全门脚本
samp_anims - 用于测试SAMP自己的动作
sf_building1 - SF建筑脚本
说明: 指令 /sfb 可以传送过去
sf_zombotech - SF建筑脚本
说明: 传送指令 /zl
skinchanger - 换皮肤脚本
说明: 指令/skinchange
stunt_island - 岛屿脚本
说明: 传送指令/si 有特技赛道和自带赛车
test_cmds - 测试指令
vspawner - 刷车脚本
说明: 指令/vspawner
4、gamemodes 含有一些自带地图模式
以下为说明
bare - 基础
barron - 用于演示一些功能的地图
grandlarc - 不明
lvdm - LV死斗
rivershell - 不明
timertest - timer 测试地图
5、pawno 文件夹为自带代码编写工具。
以下为说明
include - 用于放置 inc 文件
pawno.exe - 用于编写代码
6、rcon 内置管理指令
/rcon cmdlist - 显示 rcon 指令列表
/rcon varlist - Shows a list with the current variables.
/rcon exit - 关闭服务器
/rcon echo [文本] - 显示一段文本到服务端中
/rcon hostname [名称] - 修改连接名称 如: /rcon hostname 我的服务器
/rcon gamemodetext [名称] - 修改游戏模式名称
如: /rcon gamemodetext 我的游戏模式
/rcon mapname [名称] - 修改地图名称 如: /rcon mapname San Andreas
/rcon exec [文件名] - 执行服务器存在的 cfg 文件 如: /rcon exec blah.cfg
/rcon kick [ID] - 踢出一个玩家ID 如: /rcon kick 2
/rcon ban [ID] - 封锁一个玩家ID 如: /rcon ban 2
/rcon changemode [模式] - 修改当前模式 如: /rcon changemode sftdm
/rcon gmx - 加载下一个模式, 根据 server.cfg 配置。
/rcon reloadbans - 重载 samp.ban.
/rcon reloadlog - 重载 server_log.txt. 没有任何影响
/rcon say - 发送一个信息给所有玩家 显示格式 * Admin: 内容
/rcon players - 显示在线的玩家列表 (名称, IP 和 ping).
/rcon banip [IP] - 封锁IP 如: /rcon banip .0.0.1
/rcon unbanip [IP] - 解封IP 如: /rcon unbanip .0.0.1)
/rcon gravity - 修改重力 如: /rcon gravity 0.
/rcon weather [ID] - 修改天气 如: /rcon weather 1
/rcon loadfs - 加载脚本 如: /rcon loadfs abc
/rcon weburl [服务器连接] - 修改服务器连接
/rcon unloadfs - 卸载脚本 如: /rcon unloadfs abc
/rcon reloadfs - 重载脚本 如: /rcon reloadfs abc
/rcon rcon_password [密码] - 修改rcon 密码
/rcon password [密码] - 重置服务器密码
/rcon messageslimit [数量] - 设置每秒发给服务器的信息数量. (默认 )
/rcon ackslimit [数量] - 修改 acks 限制 (默认 ) 0.3z R2-2, 默认 )
/rcon messageholelimit [数量] - 修改消息hole的极限(默认 )
/rcon playertimeout [限制 m/s] - 修改玩家无响应的限制时间. (默认 )
/rcon language [语言] - 修改服务器语言 如: /rcon language 中文
游戏中输入, /rcon login 密码 登录后, 即可使用.
rcon 密码在 server.cfg 文件中, 可设置。
CTF入门必备之题型介绍
CTF入门必备,理解题型至关重要。比赛中的主要题型包括Web渗透、RE逆向、Misc杂项、PWN漏洞利用和Crypto密码破解。
Web类题目是入门者的友好选择,涉及注入、XSS、文件包含等漏洞,信息搜集对解题至关重要。通过敏感目录或备份文件,可以获取源代码和内部URL。例如,Banner识别可揭示框架信息,帮助利用历史漏洞。SQL注入是常见漏洞,包括多种注入方式,如数字型、UNION等。
文件读取漏洞允许攻击者读取私密文件,威胁服务器安全。SSRF漏洞则利用服务端的请求功能,攻击内部系统。命令执行漏洞和XSS漏洞分别涉及恶意命令注入和网页代码注入,需对用户输入进行严格检查。
二进制类题目中,Android题目多关注逆向和杂项。逆向涉及Java/C++的分析和调试,静态与动态分析是常用手段。代码保护和混淆增加了逆向难度,而符号执行和插桩则是解题工具。
PWN题目聚焦于利用漏洞获取权限,需要强大的逆向和数学能力。密码学题型对参赛者的数学和逻辑思维要求极高,挑战性日益提升。
掌握这些题型,对于新入门的CTF选手来说,是提高解题技能和理解深度的关键步骤。每个领域都有其独特技巧和策略,需要深入学习和实践才能在游戏中脱颖而出。