web1

通过一番搜索,能找到原始项目:https://github.com/magic-akari/BookLibrary

diff一下,发现改了一些内容(后面可以发现实际就是故意改出来的洞)

flag1:

robots.txt

flag2:

diff里可以看到validate_old_password中对旧密码的验证被删除了,猜测做了什么手脚,交叉引用找到调用该函数所在类(ChangePasswordForm)的位置,可以在views.py里找到route:change_password_cli和change_password,其中change_password_cli的id是通过 request.args.get 获取的,而非现在登陆的用户,所以直接访问以下网址,就能修改root的密码(通过app.db可以查到root的id)

http://10.0.1.110:18080/change_password_cli/?user_id=1

flag3:

diff可以看到,route:/add/增加了通过yaml添加书籍的功能,在下发的venv中又能发现pyyaml的版本是5.3.1,找网上现成payload绕绕就行,参考

yaml