Aggregator
卫星黑客挑战赛 | IIC协议破解
One in Six Attacks on U.S. Government Offices Linked to LockBit
Unmasking a Sophisticated Phishing Campaign That Targets Hotel Guests
Introducing Easy API Security Deployment
Building on our history of cryptographic research
活动 | 参与美团游戏业务专测,冲刺丰厚季度奖励!
寻找发光的你,美团安全2024届校园招聘进行中!
热招 | 美团安全风控&内容安全&安全技术招聘专场!
热招 | 美团安全攻防招聘专场,快来成团!
招聘 | 美团安全反爬招聘专场,职等你来!
【漏洞预警】JumpServer未授权访问漏洞威胁通告
墨菲安全创始人章华鹏受邀参加软件供应链安全创新发展论坛探讨全球软件供应链安全
Trend Micro Achieves 100% Protection Rate in Rigorous MITRE Engenuity ATT&CK® Evaluations
特勤局手册 | 新威胁出现,海外超微型针孔偷拍器材
某次重要攻防演练细节打点到攻陷内网分享
Akamai Prolexic Now Offers Cloud, On-Prem, and Hybrid DDoS Protection
解决ubuntu dpkg 安装处理软件包报错的问题
携手共研|BinaryAI合作计划启动,面向广大学者开放底座能力
pwn入门感受
他是想让你来计算给出的100道题计算结果是否正确,文件没有源代码,所以初步判定这道题属于Blind Pwn类型,具体可以看这个链接CTF Blind pwn题型学习笔记,以了解Blind Pwn的相关知识。
开始有个很矛盾的地方,就是不知道盲打有很多相应的攻击方式,不知道用哪一种,就在网上搜索都试一试,但是没有一个行得通,就想到之前打ciscn时有一道类似的web题,就是写脚本暴力破解得到flag。
接下来就开始尝试写代码,首先要用到pwntools,这是python的第三方库(支持python2与python3),在网上可以找相应的下载方式,可以在ubuntu和Windows上使用(Windows上下载使用有点玄学,得看运气)。首先建立连接这里是远程连接就用
from pwn import *
sh = remote("IP addr",port) //本地程勋就用sh = process("./程序名")
pwntools库中有readline,sendline函数(有很多读写函数,可以在官方文档上看)
分析给出的信息段,从 Welcome...... 到 Now.. start 一共有7行,就用了7个readline函数,之后是有规律的出现三行,前两行给出两个加数,第三行给出计算的结果,一共有100道题。使用循环语句:
for i in range(100):
sh.readline()
sh.readline()
//这两个函数就只是把信息接受到,不做任何处理,因为没啥用。接下来的是关键
s=sh.readline() //把第三行的计算公式给读下来,读出来的是字符串
接下来用到split函数,先把“+”两边的分开,numbers[0]="762",numbers[1]="135=897",将numbers[0]转换为int类型
numbers = s.split(b"+")
num0=int(numbers[0])
再将numbers[1]用split函数把“=”两边的分开,得到s[0]="135",s[1]="897",在强制转换为int类型
s = numbers[1].split(b"=")
num1=int(s[0])
num2=int(s[1])
最后就是计算num0与num1的和与num2是否相等,根据相应要求发送对应字符串。
if(num0+num1==num2):
sh.sendline(b'BlackBird')
print("BlackBird")
else:
sh.sendline(b'WingS')
print("WingS")
以上用到print函数只是为了更加清晰的看到这个过程。
最后根据结果一步一步增加代码,最终exp如下:
得到flag
1 个帖子 - 1 位参与者