视频网站咋么做做网站是什么编程

张小明 2026/1/11 9:17:39
视频网站咋么做,做网站是什么编程,长沙服务好的网络营销,自建网站平台的页面功能第一次做pickle反序列化 1.打开题目是这个页面 信息收集一下 目录扫描无可用信息、翻看源码#xff0c;发现提示 感觉这个lv6就是提示#xff0c;因为首页面下方对应的就是等级 寻找一下lv6 这里发现他的页数是可控的 然后lv等级数也是有规则的 那么只需要写个脚本#x…第一次做pickle反序列化1.打开题目是这个页面信息收集一下目录扫描无可用信息、翻看源码发现提示感觉这个lv6就是提示因为首页面下方对应的就是等级寻找一下lv6这里发现他的页数是可控的然后lv等级数也是有规则的那么只需要写个脚本遍历他的页数然后再搜索页面内容带有lv6.png字段的网页不就行了脚本如下在181页面找到了lv6.png查看一下逻辑漏洞利用打开到了一个结算页面里面有优惠券但是还是很贵买不起抓包看看能不能进行一个修改发现他的价钱还是1145……然后后面打了一个8折但是上面页面上出现的是91611……那么他的优惠价是原价*0.8那么这里将0.8变成0.0000001那么价钱是不是就低了实践一下发现有一个路径/b1g_m4mber点击跟随重定向看看到哪里了JWT密钥爆破和伪造这个页面两点注意一是右边的只允许admin访问左边是一个jwt编码那么这个admin应该是通过jwt伪造的解码发现里面有一个username字段但是后面的 名字是我刚才注册的后面还有一段加密的数据这里使用c-jwt-cracher爆破一下密钥密钥为1Kun然后再伪造username为admin进行一个替换放回包到浏览器看看这里有一个一键成为大会员点击没啥反应再看一下源码2.分析代码这里有一个www.zip下载下来看看在Admin.py下发现了是pickle反序列化import tornado.web from sshop.base import BaseHandler import pickle import urllib class AdminHandler(BaseHandler): tornado.web.authenticated def get(self, *args, **kwargs): if self.current_user admin: return self.render(form.html, resThis is Black Technology!, member0) else: return self.render(no_ass.html) tornado.web.authenticated def post(self, *args, **kwargs): try: become self.get_argument(become) p pickle.loads(urllib.unquote(become)) return self.render(form.html, resp, member1) except: return self.render(form.html, resThis is Black Technology!, member0)首先是导入一个Tornado web框架的主要模块tornado.web用来构建web应用BaseHandler这个类从sshop.base模块导入通常用于定义处理HTTP请求的基本类picklepython的标准库用于序列化和反序列化对象urllibpython2的用于URL操作unquote方法可以解码url编码的字符串AdminHandler类这个类继承自BaseHandler处理管理后台相关的请求。他有两个方法GET和POST请求get方法这个方法会在用于通过浏览器请求一个页面时被调用。tornado.web.authenticated这个装饰器表示用于必须已经通过身份认证才能访问此方法self.current_useradmin表示检查当前用于是否是admin如果是则渲染form.html页面并传递resThis is Black Technology!和member0给页面。如果不是则渲染no_ass.html页面表示没权限访问post方法这个方法会在用户提交表单时被调用通常用于处理表单数据。self.get_argument(become)获取表单种名为become的字段值。然后首先使用urllib.unquote对become字段进行URL解码然后使用pickle.loads将其反序列化为python对象。如果反序列化成功则渲染form.html页面并将反序列化后的对象p和member1作为参数传递给页面简述一下就是首先身份认证也就是JWT中的username的值为admin那么就能传入become参数这个参数可以用于传递恶意的序列化值这个序列化值也没什么过滤他会对序列化字段进行一个url解码然后就将他进行进行反序列化操作3.开始构造这里也是构造链子首先确认他的python环境是需要使用python2其次是他没进行任何过滤可以使用任意函数和模块然后就是他会使用unquote进行一个解码然后再反序列化那么只需要将命令进行一个url编码然后再序列化从become传入就能成功执行成功了这个时候可以使用python魔术方法中的__reduce__这是一个特殊的魔术方法当使用pickle序列化对象时__reduce__返回一个元组告诉pickle如何恢复对象那么让他返回的元组的值为我么们构造的命令执行语句那么返回他就会让命令成功执行可以这样写import pickle import urllib class AdminHandler(object): def __reduce__(self): return (eval,(__import__(os).popen(cat /flag.txt).read(),)) bpickle.dumps(AdminHandler()) burllib.quote(b) print(b)首先是导入pickle和urllib让AdminHandler继承一个object基类然后定义一个__reduce__方法然后里面的参数是当前对象返回值为(eval,(__import__(os).popen(cat /flag.txt).read(),))然后在进行一个实例化类再进行一个反序列化随后再让他进行一个url编码最后打印出来所以这个脚本的目的就是在反序列化的时候会触发那个__reduce__方法然后调用eval__import__导入os模块在调用系统命令popen执行cat /flag.txt并使用read进行读取文件内容然后使用python2运行脚本随后传入上去得到flag4.知识点这题考验了信息收集能力JWT爆破密钥并进行伪造pickle反序列化首先是JWT爆破密钥使用的是c-jwt-cracher工具进行一个爆破关键还是pickle反序列化这是python的一个反序列化是将类对象向字节流转化从而进行存储和传输然后使用的时候再将字节流转化为原始的对象的一个过程。python中序列化的一般有两种方式pickle模块和json模块前者是python特有的格式后者是json通用的格式。然后是python序列化和反序列化相关函数pickle.dump(obj,file)将对象序列化后保存到文件pickle.load(file)读取文件将文件中的序列化内容反序列化为对象pickle.dumps(obj)将对象序列化成字符串格式的字节流pickle.loads(bytes_obj)将字符串格式的字节流反序列化为对象魔术方法__reduce__()反序列化时调用必须返回一个元组元素的第一个元素是一个可调用对象第二个元素是要传递给该可调用对象的参数__reduce_ex__()反序列化时调用和__reduce__相似返回一个可调用对象和构造该对象所需的参数__getstate__()反序列化时调用返回一个字典该字典表示对象的状态。通过修改这个字典可以控制对象被序列化的内容。__setstate__()反序列化时调用将反序列化的状态数据设置回对象的属性他接收一个参数这个参数是对象的状态数据通常是字典形式可以通过它恢复对象的状态只列举了它的使用方法具体利用原理因为牵扯到栈还有opcode指令集和PVM还需要再进行了解参考文章https://blog.csdn.net/weixin_62808713/article/details/130048382https://xz.aliyun.com/news/13498https://www.cnblogs.com/DSchenzi/p/19271665
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

名片在哪个网站做常州网站快速排名优化

阿里Qwen3-Next模型震撼登场:800亿参数"轻装上阵",香港企业AI应用成本大降90% 【免费下载链接】Qwen3-Next-80B-A3B-Instruct-FP8 项目地址: https://ai.gitcode.com/hf_mirrors/Qwen/Qwen3-Next-80B-A3B-Instruct-FP8 在人工智能技术…

张小明 2026/1/6 16:36:22 网站建设

做网站有哪些按钮加载wordpress外部文件

LobeChat部署常见错误汇总及解决方案(新手避坑指南) 在如今大语言模型(LLM)快速普及的背景下,越来越多开发者希望将强大的AI能力落地为实际可用的聊天助手。但现实往往是:模型跑得起来,前端却连…

张小明 2026/1/10 21:40:13 网站建设

做网站买域名就行了吗中国建筑app下载

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个企业级许可证管理系统演示程序,模拟we could not validate your license fv8em46dqyc5aw9错误场景。系统应包含:1) 许可证验证模块 2) 错误处理流程…

张小明 2026/1/11 4:13:51 网站建设

做网络写手赚钱的网站国内wordpress云免备案

工业现场总线接口PCB设计:从原理到实战的硬核指南在工业自动化系统中,通信接口的稳定性往往决定了整套设备能否“活下来”。你有没有遇到过这样的情况:软件逻辑没问题,协议也跑通了,可现场一上电,通信就是时…

张小明 2026/1/6 6:11:03 网站建设

aspmysql做网站聚化网网站

空间分析与地理信息系统集成 在城市仿真软件中,空间分析与地理信息系统(GIS)的集成是至关重要的。空间分析可以帮助我们更好地理解和预测城市的发展动态,而GIS则提供了强大的数据管理和可视化工具。通过将这两者结合起来&#xff…

张小明 2026/1/6 6:11:39 网站建设

网站 手机 app官方网站重要性

YOLOv8 ROS项目部署指南:如何在5分钟内搭建机器人视觉系统 【免费下载链接】yolov8_ros 项目地址: https://gitcode.com/gh_mirrors/yo/yolov8_ros YOLOv8 ROS项目为机器人开发者提供了一套完整的视觉感知解决方案,支持从YOLOv5到YOLOv12全系列模…

张小明 2026/1/7 20:14:13 网站建设