PythonServer-Flask-Pin码攻击

一道有关Flask开启DEBUG结合任意文件读取生成PIN码攻击的题目。可惜没有及时截图,现在只剩下文字了,凑合记录一下。

  1. 正常注册用户,登陆用户,查看源代码发现在打开图片时,图片名由base64编码

  2. 利用其解析base64的漏洞,进行目录穿越,例如对“…/…/…/…/etc/passwd"进行base64编码后查看响应包获得文件内容

  3. 由于存在文件读取漏洞,所以可以依次读取:

     username: /etc/passwd
     machine-id: /etc/machine-id
     mac_address: /sys/class/net/eth0/address	
    
  4. 通过对服务器提交错误表单触发报错进入DEBUG页面,获得"app.py"绝对路径

  5. 结合通过3,4,app_name(Flask),mode_name(flask.app)共六个内容:
    在这里插入图片描述

  6. 通过POST错误数组进入DEBUG页面,点击console图标输入pin码即可获得debug权限

  7. 通过python shell获取flag内容

     os.popen("ls").readlines()
    

猜你喜欢

转载自blog.csdn.net/u013457794/article/details/88997699