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

[MRCTF2020]PYWebsite

function enc(code){hash = hex_md5(code);return hash;}function validate(){var code = document.getElementById("vcode").value;if (code != ""){if(hex_md5(code) == "0cd4da0223c0b280829dc3ea458d655c"){alert("您通过了验证!");window.location = "./flag.php"}else{alert("你的授权码不正确!");}}else{alert("请输入授权码");}}

从源码中可以看到一段JSP代码。发现有/flag路由于是访问一下:

哈哈哈笑死了。购买者的IP保存起来是什么意思,验证逻辑在后端 ?

先不管了,通过给出代码的验证逻辑再说。

hex_md5(code) == "0cd4da0223c0b280829dc3ea458d655c"

 hex_md5应该是指十六进制表示的md5值吧,这里使用的是弱等于,但是右边字符串并不是科学计数法格式(0e开头),根据上次题目得到的结论,就算左边是0e开头的字符串仍然不会转换成数字比较。尝试了一下果然不行。

没思路,看一眼答案...

什么?居然是伪造IP!!!

他说除了购买者和自己没人能看到flag,说明他自己是能看到的,就想到伪造IP为本地地址。

这确实有点出乎意料啊!

另外,上传vcode之后通过网络流量可以看到有JS请求:

 但是状态是404啊,根本没这个文件。难道后端处理是骗我了????

http://www.xdnf.cn/news/15718.html

相关文章:

  • Kubernetes (k8s)环境重启Pod方式总结
  • 访问网页的全过程笔记
  • SenseGlove力反馈手套:医疗、生产制造、军事模拟与远程机器人控制新革命
  • 游戏开发中防止“范围蔓延”
  • 部分排序算法的Java模拟实现(复习向,非0基础)
  • 多态,内部类(匿名内部类),常用API(1)
  • 推荐《Python 编程:从入门到实践》之Python编程的基础知识
  • H3CNE综合实验之机器人
  • Swift6.0 - 5、基本运算符
  • vue的provide和inject
  • 对称二叉树、二叉树直径
  • el-input 回显怎么用符号¥和变量拼接展示?
  • Golang 并发快速上手
  • (新手友好)MySQL学习笔记(完):事务和锁
  • 自学中医笔记(一)
  • NO.6数据结构树|二叉树|满二叉树|完全二叉树|顺序存储|链式存储|先序|中序|后序|层序遍历
  • MH32F103A单片机 可兼容替代STMCCT6/RCT6/RBT6,增强型
  • 【Android】TextView的使用
  • 大语言模型幻觉检测:语义熵揭秘
  • webpack将组件vue进行编译混淆,并能正常使用编译之后的文件
  • AR智能巡检:电力运维的数字化变革
  • Ansible 查看PostgreSQL的版本
  • 编译原理第四到五章(知识点学习/期末复习/笔试/面试)
  • 二重循环:输入行数,打印直角三角形和倒直角三角形
  • UE5 相机后处理材质与动态参数修改
  • 创建第二大脑的关键还是方法
  • xss-labs练习
  • Python+Selenium自动化
  • 创建linux端口映射连接小网
  • Vue2.x封装预览PDF组件