| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Python知识库 -> Buuctf admin -> 正文阅读 |
|
[Python知识库]Buuctf admin |
打开该靶机,发现为一个登陆的界面 总共有三个界面,分别为主界面,login登陆界面和register注册界面 根据标题,猜测应该是让我们用admin的用户去登陆 尝试对登陆界面进行SQL注入 发现为500错误,无法对其注入 那么转换下思路,先注册一个进去看一下(admin用户无法被注册,需要用另外用户名) 发现里面有四个界面,第一个为主界面,第二个类似留言板,但是xss被完全过滤了,第三个为修改密码界面,第四个为退出 在这四个界面中,只剩下修改密码这个界面可以作为突破点 查看一下该页面的源码 这道题居然在源码暴露了github源码网站,而且看名字可以猜测出是用flask框架写出来的
可以通过抓包看一下我们自己的session 既然客户端的session可以被截取破解,那么这道题就可以去利用flask session伪造来解题 在解该题之前可以先了解一下flask 源码解析:session以及客户端 session 导致的安全问题 在查看了一下大佬的wp后,找到了一段python的解密脚本
通过解密后的内容可以看到解密出来原来的内容,能看到很明显一个name字段正是我们之前注册的12345账户,那只要改一下这个值,将其修改为admin,然后重新加密一下就可以了,加密的脚本看大佬的writeup上有个地址:https://github.com/noraj/flask-session-cookie-manager,拿到后直接使用即可 不过要伪造session前,加密还需要一个值SECRET_KEY,这个在网页源码中的config.py中能看到 ?加密后,将该伪造的session替换原网页的session 替换成功后发送请求就能成功得到该题的flag
花絮: 在尝试该题admin的密码时,意外的猜到的密码:123,没想到怎么简单,还以为该题考点为弱口令,不过想想应该没那么简单,看了一下大佬写的wp,最后用了session的伪造做的题 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/16 4:28:55- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |