ISCC客服一号冲冲冲(二)

呦,又见面了,狗子

打开链接,发现登录接口似乎是个图片截了一块啊,把图片下载下来,lsp隐写发现源代码,同时php弱比较登录页面

(都看到这里啦,还不给个三连吗)

本着这次一定的原则,我还是迎难而上,但是

尼玛,这没有密码啊

等等,我好像发现了什么

我们得到第一题flag,所以这个flag是啥呢(第二题:这是啥),第三题flag()告诉我们,哦这是密码啊

登录密码居然隐藏在题目描述里

行吧,直接搞起来

这里要用到一个东西,浏览器插件HackBar或者火狐渗透版,具体安装方法自行查找

吐了嗷,admin不让看

偶然间突然发现,除了admin,谁都可以进,只要密码对,出题人在哪,头伸过来我砍砍

换了zdmin上去后

em…搞我呢

但是,本着**这次一定(疯狂暗示)**做出来的原则,在存储里发现了这样的cookie

这不是CBC加密(CBC字节翻转攻击)吗,简单

攻击原理就不放了,有兴趣的童鞋可以自行搜索,或者点一手关注,说不定哪天就更新相关内容了呢

简单来说就是通过异或翻转字节

直接上代码修改cipher和iv控制用户名

注意一下哈:每次刷新由于本地post值的存在,cipher和iv都会变,我们要一定要清除本地post值

一个简单的办法,复制当前URL,关闭浏览器删除一小时内浏览记录或这个网址浏览记录,粘贴刚刚复制的URL再进去,无论怎么刷新还是这个iv和cipher

这里上的是Python2的代码

第一段

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Link    : http://blog.csdn.net/csu_vc
import base64
import requests
import urllib
iv_raw='i6RfsKjmCpdRqbJGVObwbg%3D%3D'  #这里填写第一次返回的iv值
cipher_raw='nEUant73cLQOvjWeQbR4K69FZXw8UGdV0A5r4DildwOOW6RdoiX140i3CaomjByv3mKADN9dZSKcQLDpoPCgordsOH4PtrnlIYmF6FBBmkw%3D'  #这里填写第一次返回的cipher值
print "[*]原始iv和cipher"
print "iv_raw:  " + iv_raw
print "cipher_raw:  " + cipher_raw
print "[*]对cipher解码,进行反转"
cipher = base64.b64decode(urllib.unquote(cipher_raw))
#a:2:{s:8:"username";s:5:"zdmin";s:8:"password";s:5:"12345"}
#s:2:{s:8:"userna
#me";s:5:"zdmin";
#s:8:"password";s
#:3:"12345";}
xor_cipher = cipher[0:9] +  chr(ord(cipher[9]) ^ ord('z') ^ ord('a')) + cipher[10:]  #请根据你的输入自行更改,原理看上面的介绍
xor_cipher=urllib.quote(base64.b64encode(xor_cipher))
print "反转后的cipher:" + xor_cipher

特别注意:

我这里用的用户名是zdmin,如果你用的是其他的用户名(最好最好在admin的基础上改动一个字母),username admin这里共13个字符xor_cipher = cipher[0:9] +  chr(ord(cipher[9]) ^ ord('z') ^ ord('a')) + cipher[10:]你改的是第几个字符cipher中就是0:几+chr(ord(cipher[几])^ ord('你改的那个字母'^ ord('改成什么字母')cipher[几+1:])例如:admil就是
xor_cipher = cipher[0:13] +  chr(ord(cipher[13]) ^ ord('l') ^ ord('n')) + cipher[14:]

得到翻转后的cipher

nEUant73cLQOpTWeQbR4K69FZXw8UGdV0A5r4DildwOOW6RdoiX140i3CaomjByv3mKADN9dZSKcQLDpoPCgordsOH4PtrnlIYmF6FBBmkw%3D

将翻转后得到的新cipher替换浏览器中原来那个cipher,刷新页面

出现了提示错误

这是因为我们修改了密文1中的数据,使第一次解密出的明文数据错乱,打乱了序列化数据的格式,反序列化失败。
但是当我们把返回的base64数据解码后,可以发现我们的username已经修改成admin了

出现这种错误,根据CBC解密原理,我们只需要修改iv的值,使得iv XOR 解密(密文1) = 明文1 即可

还是上代码,同样的,Python2

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Date    : 2018-03-15 11:56:20
# @Author  : csu_vc(s4ad0w.protonmail.com)
# @Link    : http://blog.csdn.net/csu_vc
import base64
import urllib
cipher = 'V/pACxVKq7HhWuPDmWWz/G1lIjtzOjU6ImFkbWluIjtzOjg6InBhc3N3b3JkIjtzOjE1OiIxU0NDXzJvMmxfS2VGdXUiO30='#填写提交后所得的无法反序列化密文
iv = 'i6RfsKjmCpdRqbJGVObwbg%3D%3D'#一开始提交的iv
#cipher = urllib.unquote(cipher)
cipher = base64.b64decode(cipher)
iv = base64.b64decode(urllib.unquote(iv))
newIv = ''
right = 'a:2:{s:8:"userna'#被损坏前正确的明文
for i in range(16):newIv += chr(ord(right[i])^ord(iv[i])^ord(cipher[i])) #这一步相当于把原来iv中不匹配的部分修改过来
print urllib.quote(base64.b64encode(newIv))

得到新iv

vWQtgcbfmx6K0ST2qPEt8w%3D%3D

在浏览器中,将新iv替换进去,刷新一下

出活!!!

你喜欢这篇文章吗,主页或许有你想要的哦
点赞收藏加关注,一键三连不迷路!

ISCC2021—ISCC客服一号冲冲冲(二)相关推荐

  1. ISCC ISCC客服一号冲冲冲(二)

    这个题其实是转自Bugku的Login4 (CBC字节翻转攻击) 题目有提示密码就是web1 的flag 然后登入 这里有回显,然后我们换一下 下面cookie里的iv和cipher看着就像CBC加密 ...

  2. 淘宝网nbsp;E客服帐号nbsp;登录阿里旺旺时nbsp;…

       刚刚开通E客服的帐号,我们等10分钟以后,再登录阿里旺旺就会正常了.如果开通E客服功能已经比较久了,而登录阿里旺旺还是提示只能登录到指定服务器,一般是由于网络原因,E客服登帐号服务器地址不正确引 ...

  3. 万能客服公众号版-聚合客服小程序功能模块V28.1.0

    简介: 万能客服是强大的微信公众号客户服务功能模块,无缝对接人人商城等其他类型的商城,实现聊天界面实时显示商品信息,优化前端管理员可查询任意粉丝查看聊天记录,其他优化! 源码特色: 1.多渠道接入:w ...

  4. 多国语言在线客服系统源码+软件下载二合一集成

    本文分三部分系统介绍如何开发一套在线客服系统聊天源码,该源码基于ThinkPHP,代码完全开源. 首先,我们只使用@auth指令. 其次,我们添加一个带有参数的订阅类型. 第三,我们更新@auth指令 ...

  5. 多客服功能终于也向所有微信认证的订阅号开放了

    多客服功能支持多人同时为一个公众号提供客服服务,经过半年多仅对认证服务号开放后,现在终于也向所有微信认证的订阅号开放了,所有微信认证的服务号和订阅号可以在"功能"-"添加 ...

  6. PHP 微信公众号之客服完整讲解

    //获取access_tokenprivate static function get_access_token($app_id){$getAuthorizerInfo = wx_auth::getA ...

  7. 公众号客服头像上传-java

    公众号客服头像上传:form-data格式 亲测,可以直接使用 public String addCustomer(MultipartFile file, Integer publicNumberId ...

  8. 微信公众号最佳实践 ( 4.4)客服接口

    当用户和公众号产生特定动作的交互时(具体动作请见下方列表),微信将会把消息数据推送给开发者,开发者可以在一段时间内(目前修改为48小时)调用客服接口,通过POST一个JSON数据包来发送消息给普通用户 ...

  9. 微信公众号开发教程[019]-新版客服

    新版客服是针对之前文章<<微信公众号开发教程[007]-消息管理-客服消息>>里面提到的客服功能而言的.在其基础上做了很多提升. 首先如果公众号曾经使用过旧版多客服功能,则要在 ...

最新文章

  1. Linux下查看磁盘挂载的三种方法
  2. 北风设计模式课程---2、工厂方法模式
  3. python编程题大全-python编程题
  4. java 脚手架_肝了一个半月的 Java 项目快速开发脚手架:Chewing
  5. 管理动物园动物c++_《过山车大亨》开发商公开新作 建立自己的动物园
  6. 虚拟计算机用户权限分配,虚拟机实例的权限和安全配置
  7. git修改commit注释_【Slog】Git之多人同feature的同分支开发
  8. python怎么判断字段不存在_Python 判断一个对象是否存在
  9. 推荐学习网页标准的20个好去处
  10. hp laserjet 1213 linux驱动下载,惠普HP LaserJet Pro M1213nf一体机驱动
  11. 易语言-万挂作坊4.X下载,有图有真相
  12. win7 java修复工具哪个好_DLL修复工具哪个好
  13. python中求差的函数_Python编程基础11:函数和模块
  14. matlab如何写不等于号,不等于号(不等于号可以往右写么)
  15. sql语句存储过程的写法(mysql和java)
  16. digitalpersona 开发
  17. Stata:固定效应模式必须加入时间固定效应吗?
  18. 2023年五大趋势预测 | 大数据分析、人工智能和云产业展望
  19. 杭电计算机研究生复试,杭电计算机考研经验
  20. JSON实例简单教程

热门文章

  1. 新手要学会做网站要多长时间?
  2. 缓存数据库选型——redis和memcached
  3. PID智能小车快速入门(一)
  4. MySQL日志双一配置分析实战
  5. Unix/Linux头文件说明
  6. 钟汉良日记:网络也是江湖,有恩怨情仇有利益纠葛
  7. linux系统一直循环登录界面,Ubuntu卡在登陆界面无限循环的问题
  8. 0818骑行仙湖绿道
  9. java利用二维数组查找鞍点_java找二维数组的鞍点
  10. mysql的七种查询命令_mysql查询命令详细