[JarvisOj](web)QWB


简介 :

这么简单的题,是WEB吗?
题目入口:[http://web.jarvisoj.com:9891/](http://web.jarvisoj.com:9891/)

分析 :

[JarvisOj](web)QWB_第1张图片
Paste_Image.png
  1. 首先是一个登录界面 , 只有一个密码输入框 , 最开始以为是注入
    在这里折腾好久 , sqlmap 都用上了...不过最后都没有后还是没用
  2. 然后找一下看看有没有出题人的提示 , 在响应头和 cookie 中也都没有发现什么有用的信息
  3. 注入试了千百遍无果以后 , 沉下心来看看源码吧 , 说不定会有什么收获呢 ?
[JarvisOj](web)QWB_第2张图片
Paste_Image.png
  1. 看看 js 和 css 吧 , 只有一个 app.js 是出题人自己写的 , 其他的都是 cdn , 所以只需要看这个
后记 : 
之后在查了一下 , 应该是 react.js
但是并不会..._(:3 」∠)_
[JarvisOj](web)QWB_第3张图片
Paste_Image.png
  1. 格式化一下吧
[JarvisOj](web)QWB_第4张图片
Paste_Image.png
  1. 留意到之前看这个页面的源码的时候并没有发现 form 表单 , 但是输入的密码确实是被以 post 的形式发出去了 , 所以说这个 app.js 中必然有对 http post 的支持 , 那么就直接搜索一下吧
[JarvisOj](web)QWB_第5张图片
Paste_Image.png
[JarvisOj](web)QWB_第6张图片
Paste_Image.png
  1. sublime 直接帮我们定位到了函数的定义
[JarvisOj](web)QWB_第7张图片
Paste_Image.png
[JarvisOj](web)QWB_第8张图片
Paste_Image.png
  1. 感觉这个函数比较可疑 , 拖出来看看
[JarvisOj](web)QWB_第9张图片
Paste_Image.png
  1. (⊙v⊙)嗯 , 看来似乎是个密码验证的函数 , 经过分析发现这是一个 25 元一次方程组 , 而当函数的参数 e 是这个方程组的解得时候就返回 1

  2. 感觉就要出来了 , 在线解呗

[JarvisOj](web)QWB_第10张图片
Paste_Image.png
[JarvisOj](web)QWB_第11张图片
Paste_Image.png
#!/usr/bin/env python

data = [81,87,66,123,82,51,97,99,55,95,49,115,95,105,110,116,101,114,101,115,116,105,110,103,125]
flag = ''
for i in data:
    flag += chr(i)
print flag

你可能感兴趣的:([JarvisOj](web)QWB)