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

政务网站建设管理的论文哪个行业最容易做网站

政务网站建设管理的论文,哪个行业最容易做网站,行业网站建设收费明细,WordPress评论制作进入靶场 都点击看看 发现点击work会增加¥ 但肯定不能一直点下去 抓包看看 这看起来是一个 JWT(JSON Web Token)字符串。JWT 通常由三部分组成,通过点(.)分隔,分别是头部(Header&…

进入靶场

都点击看看 

发现点击work会增加¥

 但肯定不能一直点下去

抓包看看

这看起来是一个 JWT(JSON Web Token)字符串。JWT 通常由三部分组成,通过点(.)分隔,分别是头部(Header)、载荷(Payload)和签名(Signature)。

  1. 头部解析:
    • 经过 Base64 解码(注意,这里的 Base64 解码是 URL 安全的 Base64 变体),eyJhbGciOiJIUzI1NiJ9 得到 {"alg":"HS256"},表示使用的签名算法是 HMAC SHA256。
  2. 载荷解析:
    • 对 eyJ1aWQiOiIxYTQxZTY3OC1kOGYyLTQxMDItYWRkOS1iMDM0M2ZmNzQ3M2UiLCJqa2wiOjQ5fQ 进行 Base64 解码,得到 {"uid":"1a41e678 - d8f2 - 4102 - add9 - b0343ff7473e","jk":49}。这里的 uid 可能是用户唯一标识符,jk 的含义则取决于应用程序的定义。
  3. 签名部分:
    • 6QOmMhmKuPRJIDOlJzZ2AGXr8zXN6mjUh8TNk7nDOMM 是签名部分,它是通过使用头部中指定的算法(HS256),结合一个密钥(只有服务器端知道)对头部和载荷进行签名计算得出的。其目的是验证消息在传输过程中没有被更改,并且,在使用私钥签名的情况下,还可以验证 JWT 的发送者的身份。

 综上,我们可以尝试修改jk的值

import jwtjwt_str = "eyJhbGciOiJIUzI1NiJ9.eyJ1aWQiOiIxYTQxZTY3OC1kOGYyLTQxMDItYWRkOS1iMDM0M2ZmNzQ3M2UiLCJqa2wiOjQ5fQ.6QOmMhmKuPRJIDOlJzZ2AGXr8zXN6mjUh8TNk7nDOMM"
try:# 解码JWTdecoded = jwt.decode(jwt_str, options={"verify_signature": False})# 修改jk值decoded["jk"] = 1000000000000000000000000000# 重新编码JWTnew_jwt = jwt.encode(decoded, "secret_key", algorithm='HS256')print(new_jwt)
except jwt.exceptions.InvalidTokenError as e:print(f"解码错误: {e}")

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOiIxYTQxZTY3OC1kOGYyLTQxMDItYWRkOS1iMDM0M2ZmNzQ3M2UiLCJqa2wiOjQ5LCJqayI6MTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMH0.uEaleEDczqr1mtKN1aoq4uLX6M5IxhtT20FN9tNNOc8

不对

可能只改这块不行

看看还有没有信息

 

 

# 引入Sinatra框架,用于构建Web应用
require 'sinatra'
# 引入Sinatra的cookies扩展,用于处理HTTP Cookie
require 'sinatra/cookies'
# 引入Sinatra的JSON扩展,用于方便地返回JSON响应
require 'sinatra/json'
# 引入JWT库,用于处理JSON Web Tokens
require 'jwt'
# 引入SecureRandom库,用于生成安全的随机数和UUID
require 'securerandom'
# 引入ERB库,用于处理嵌入式Ruby模板
require 'erb'# 设置静态文件的存放目录,这里指定为当前文件所在目录下的static文件夹
set :public_folder, File.dirname(__FILE__) + '/static'# 定义购买FLAG所需的jkl价格
FLAGPRICE = 1000000000000000000000000000
# 生成一个64字节的随机十六进制字符串作为JWT的密钥,并存储在环境变量中
ENV["SECRET"] = SecureRandom.hex(64)# 配置应用的设置
configure do# 启用日志记录enable :logging# 打开一个日志文件,用于记录HTTP请求信息file = File.new(File.dirname(__FILE__) + '/../log/http.log',"a+")# 确保日志文件的写入是同步的,即写入操作立即生效file.sync = true# 使用Rack的CommonLogger中间件将日志记录到指定的文件中use Rack::CommonLogger, file
end# 处理根路径的GET请求,重定向到/shop路径
get "/" doredirect '/shop', 302
end# 处理/filebak路径的GET请求,将当前文件的内容作为文本返回
get "/filebak" docontent_type :text# 使用ERB渲染当前文件的内容erb IO.binread __FILE__
end# 处理/api/auth路径的GET请求,生成一个JWT并将其存储在Cookie中
get "/api/auth" do# 定义JWT的负载,包含一个随机生成的UUID和初始jkl值payload = { uid: SecureRandom.uuid , jkl: 20}# 使用HS256算法和环境变量中的密钥对负载进行编码,生成JWTauth = JWT.encode payload,ENV["SECRET"] , 'HS256'# 将生成的JWT存储在Cookie中cookies[:auth] = auth
end# 处理/api/info路径的GET请求,从Cookie中获取JWT并返回用户信息
get "/api/info" do# 调用islogin方法检查用户是否已登录islogin# 从Cookie中获取JWT,并使用环境变量中的密钥进行解码auth = JWT.decode cookies[:auth],ENV["SECRET"] , true, { algorithm: 'HS256' }# 将用户信息(uid和jkl)以JSON格式返回json({uid: auth[0]["uid"],jkl: auth[0]["jkl"]})
end# 处理/shop路径的GET请求,渲染shop.erb模板
get "/shop" doerb :shop
end# 处理/work路径的GET请求,处理用户工作相关的逻辑
get "/work" do# 调用islogin方法检查用户是否已登录islogin# 从Cookie中获取JWT并解码auth = JWT.decode cookies[:auth],ENV["SECRET"] , true, { algorithm: 'HS256' }# 获取解码后的负载auth = auth[0]# 检查请求参数中是否包含SECRETunless params[:SECRET].nil?# 检查请求参数中的SECRET是否与环境变量中的SECRET匹配if ENV["SECRET"].match("#{params[:SECRET].match(/[0-9a-z]+/)}")# 如果匹配,打印FLAGputs ENV["FLAG"]endend# 检查请求参数中的do是否符合特定格式if params[:do] == "#{params[:name][0,7]} is working" then# 如果符合格式,将用户的jkl值增加一个0到9之间的随机数auth["jkl"] = auth["jkl"].to_i + SecureRandom.random_number(10)# 重新对更新后的负载进行编码,生成新的JWTauth = JWT.encode auth,ENV["SECRET"] , 'HS256'# 将新的JWT存储在Cookie中cookies[:auth] = auth# 弹出一个提示框,告知用户工作成功ERB::new("<script>alert('#{params[:name][0,7]} working successfully!')</script>").resultend
end# 处理/shop路径的POST请求,处理用户购买FLAG的逻辑
post "/shop" do# 调用islogin方法检查用户是否已登录islogin# 从Cookie中获取JWT并解码auth = JWT.decode cookies[:auth],ENV["SECRET"] , true, { algorithm: 'HS256' }# 检查用户的jkl值是否足够购买FLAGif auth[0]["jkl"] < FLAGPRICE then# 如果不足,返回一个包含错误信息的JSON响应json({title: "error",message: "no enough jkl"})else# 如果足够,将FLAG信息添加到负载中auth << {flag: ENV["FLAG"]}# 重新对更新后的负载进行编码,生成新的JWTauth = JWT.encode auth,ENV["SECRET"] , 'HS256'# 将新的JWT存储在Cookie中cookies[:auth] = auth# 返回一个包含成功信息的JSON响应json({title: "success",message: "jkl is good thing"})end
end# 定义一个辅助方法,用于检查用户是否已登录
def islogin# 检查Cookie中是否包含auth字段if cookies[:auth].nil? then# 如果不包含,重定向到/shop路径redirect to('/shop')end
end

得到了密钥

用下下面的这个工具

https://jwt.io/ 

 

 


文章转载自:

http://wWgSrPYv.Lzttq.cn
http://5Di4njA8.Lzttq.cn
http://ni4zRDJe.Lzttq.cn
http://iHmXZdU2.Lzttq.cn
http://FbyvSDhV.Lzttq.cn
http://EPGDrUFp.Lzttq.cn
http://jRWtAlbp.Lzttq.cn
http://md8KbVpq.Lzttq.cn
http://gg1M0Kw9.Lzttq.cn
http://BfHhmQNg.Lzttq.cn
http://daxV6CAb.Lzttq.cn
http://9rYbOIPQ.Lzttq.cn
http://Ne9qvQz8.Lzttq.cn
http://CtmkyWvV.Lzttq.cn
http://SJLWM3Ct.Lzttq.cn
http://1TUjmTzJ.Lzttq.cn
http://9h7Jk59L.Lzttq.cn
http://gLr8R82V.Lzttq.cn
http://k6NqPtK6.Lzttq.cn
http://YC2PfERB.Lzttq.cn
http://4G8akyaw.Lzttq.cn
http://PTQVRKBg.Lzttq.cn
http://VjWjRVRj.Lzttq.cn
http://ipxZOFi4.Lzttq.cn
http://K7qcTw53.Lzttq.cn
http://9xLuUmz0.Lzttq.cn
http://WNNzHoGw.Lzttq.cn
http://34LJGVNi.Lzttq.cn
http://zqcXp7rV.Lzttq.cn
http://ERdyvoqA.Lzttq.cn
http://www.dtcms.com/wzjs/631326.html

相关文章:

  • 手机版素材网站搜狗首页排名优化
  • 好看的旅游网站模板下载网页设计实训心得200字
  • 空间网站打不开百度网站建设费用怎么做账
  • 湘潭网站seo公司免费动画制作软件
  • 男女直接做免费的网站开发软件下载网站
  • 青岛建设项目环评公示网站专门做试卷的网站
  • 网站开发人才培养目标免费建工作室网站
  • 做植物提取物的专业网站诗词门户网站
  • 建筑公司网站广告宣传语于都做网站
  • 学生怎样做网站百度网盘做存储网站
  • 类似站酷的网站建站聊城做网站的公司精英
  • 东海建设局网站建设网站一般要多久
  • 北京网站建设公司服务哪家好做个平台网站怎么做的
  • 营口建设工程质量监督站网站网站建设 英语
  • 网站优化成本湄洲岛网站建设
  • 做网站都需要具备什么深圳网站系统找哪里
  • 重庆微信网站建设多少钱营销推广活动策划书模板
  • 上海住房和城乡建设部网站首页网站规划的缩略图
  • 淄博淘宝网站建设丹东市住房和城乡建设网站
  • 西南交通建设集团有限公司网站玉环市建设工程检测中心网站
  • 网站 可信验证c2c类型电子商务网站
  • 网站开发华企云商中国建设银行贷款官网站
  • 创建一个网站的费用网站打不开怎么回事
  • 上海信息科技有限公司软件网站开发郴州高新区
  • 深圳建筑设计找工作哪个招聘网站网站建设 尚瑞科技
  • 正规网站建设哪家好怎样创建一个国际网站
  • 泊头公司做网站请人做网站需要多少钱
  • 像乐视做硬件的视频网站吉林市城市建设档案馆官方网站
  • wordpress微信公众号企业版口碑seo推广公司
  • 中国联通网站备案管理系统东莞展馆设计公司