首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

红队第10篇:coldfusion反序列化过waf改exp拿靶标的艰难过程

本期分享一个有关Java反序列化漏洞的过waf案例。目标应用系统是Adobe ColdFusion动态web服务器,对应的漏洞编号是CVE-2017-3066,曾经利用这个反序列化漏洞多次拿过权限。...,前提是服务器必须得出网,我最近2年遇到的coldfusion反序列化漏洞,能出网直接反弹shell的情况越来越少了,而且顶多是dns能出。...按钮,waf会直接把数据包丢掉,迅速返回空。...通过dns读取操作系统名,发现目标服务器是linux。最终我本地搭建了一个coldfusion环境,经过一系列测试,我发现问题出在ysoserial的Gadgets类的执行命令过程中。...后来我想明白了,DNSlog是有长度限制的,肯定是目标服务器的web路径太长了。于是,我经过测试,结合linux自带的系统目录sed与cut,给出如下一段一段读网站绝对路径的方法。

1.2K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    前端架构师之01_JavaScript_Ajax

    向Web服务器发送请求并接收响应:send()方法 send(content) content:用于指定要发送的数据,其值可为DOM对象的实例、输入流或字符串,一般与POST请求类型配合使用。...属性名 说明 responseText 将响应信息作为字符串返回 responseXML 将响应信息格式化为XML Document对象并返回(只读) responseXML属性在请求失败或相应内容无法解析时的值为...需要注意的是,服务器在返回XML时应设置响应头Content-Type的值为text/xml或application/xml,否则会解析失败。 Ajax如何处理服务器返回的信息。...=' + encodeURIComponent(json)); eval()函数 JavaScript中的eval()函数可将传入的字符串当做JavaScript代码执行。...使用方式:new FormData()实例化并传入 表单对象即可。 在创建FormData对象后,可在调用Ajax对象的send()方法时作为参数传入,从而将表单数据发送给服务器。

    4510

    5个REST API安全准则

    只允许需要的动词,其他动词将返回适当的响应代码 ( 例如,禁止一个403)。 (3)保护特权操作和敏感资源集合 并非每个用户都有权访问每个Web服务。...现实情况是,任何人都可以调用您的Web服务,所以假设每秒执行上百次失败的输入验证的人是没有好处的。考虑将API限制为每小时或每天一定数量的请求,以防止滥用。...(2)验证传入的内容类型 当POSTing或PUTting新数据时,,客户端将需要指定传入数据的Content-Type(例如application / xml或application / json)。...(3)消息完整性 除了HTTPS / TLS,JSON网络令牌(JWT)是一个开放标准( RFC 7519 ),它定义了一个JSON对象参与者之间安全地传送信息的紧凑且自成一体的方式。...当设计REST API时,不要只使用200成功或404错误。 以下是每个REST API状态返回代码要考虑的一些指南。 正确的错误处理可以帮助验证传入的请求,并更好地识别潜在的安全风险。

    3.8K10

    Web基础知识

    向Web服务器发送请求并接收响应:send()方法 send(content) content:用于指定要发送的数据,其值可为DOM对象的实例、输入流或字符串,一般与POST请求类型配合使用。...属性名 说明 responseText 将响应信息作为字符串返回 responseXML 将响应信息格式化为XML Document对象并返回(只读) responseXML属性在请求失败或相应内容无法解析时的值为...=' + encodeURIComponent(json)); eval()函数 JavaScript中的eval()函数可将传入的字符串当做JavaScript代码执行。...使用方式:new FormData()实例化并传入 表单对象即可。 在创建FormData对象后,可在调用Ajax对象的send()方法时作为参数传入,从而将表单数据发送给服务器。...() { console.log('连接成功'); ws.send('Tom'); console.log('向服务端发送一个字符串:Tom'); }; // 当收到服务器消息时执行的回调函数

    13210

    ES6中的Promise和Fetch

    回调地狱Callback hell 假设有一个服务接口,接受两个操作数,可以完成相加的操作,并以Json字符串返回结果。...简单起见,没有传入err回调函数。可以通过将url修改为错误的,或者将x传入字符串来制造错误,这里就不演示了。...Promise共有三种状态:pending(初始状态,既不是成功,也不是失败状态)、fulfilled( 意味着操作成功完成)、rejected(意味着操作失败)。...除此以外,fetch方法返回的是一个Promise对象,因此,可以链式发起异步请求。而服务端的返回值则通过response对象传递。...在这个response上调用json()方法,返回的也是一个Promise,然后再下一步then才能够获得服务器返回的原始对象。

    1.5K40

    TIMSDK 常见问题

    IMSDK 包含以下消息类型,支持自定义消息 类型 Class 必填参数 描述 文本消息元素 TextElem text:String 存储字符串类型,并形成文本消息 表情消息元素 FaceElem index...IMSDK 登录成功后会同步近期的会话列表,通过漫游 + 本地的方式返回会话列表。 漫游方式为新产生并且未超过漫游消息时长限制,返回最新的一条消息生成会话。...,为什么另一端收到此表情消息并解析出文本或超出我预期的情况?...暂不支持,setReadMessage() 是根据参数传入该条消息的时间戳之前的所有消息置为已读状态,填 NULL 将该会话的所有消息置为已读状态 23.我能获取进群前的历史消息记录吗?...在这种情况下所有的消息和通知都是通过推送 (厂商推送、APNS) 来通知用户。只有在用户收到推送并打开 APP 后,SDK 才会自动重连上服务器并拉取离线的消息和通知。

    5.7K102

    WEB安全性测试

    来源:http://www.51testing.com SQL注入   所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。...接口测试大体分为两类:模块接口测试和web接口测试   模块接口测试是单元测试的基础。它主要测试模块的调用与返回。   1、检查接口返回的数据是否与预期结果一致。   ...对于web接口测试来说有哪些测试要点:   1、请求是否正确,默认请求成功是200,如果请求错误也能返回404、500等。   2、检查返回数据的正确性与格式;json是一种非常创建的格式。   ...如果我搜索一个关键字半天结果都没返回,果断弃用。...数据的读取;   C.支持多种语言,包括ActionScript, C, C#, ColdFusion, Java, JavaScript, Perl, PHP, Python, Ruby等服务器端语言

    1.4K40

    深夜写完的代码——快速实现.NET(.net framework.net core+)动态访问webservice服务

    提供三个服务接口,一个无参数、一个字符串参数、一个含有多个实体类参数(实体类参数也含有嵌套和集合)以及返回带有嵌套和集合的返回数据,用来做测试使用,基本上可以涵盖几乎所有的webservice服务的情况了...直接调用的时候,返回值是一个 OpenToolResult类型,类型定义如下: 由于咱们的返回值就一个基础类型string,所以需要调用解析基础类型值的方法,得到最终的返回消息为 Hello World...OpenWebserviceDocCache类型定义如下: 接着试一下传入一个基础类型参数的情况。访问Hola方法,传入Wesky字符串,成功获取到返回值 Wesky World。...接下来试一下传入多个实体类参数,并且按照上面webservice的内容,会返回一个其他一个实体类消息。 回看一下TestService服务接口的实现,说明动态访问是成功的。...返回值Result.IsSuccess如果是true,代表发送请求成功;如果解析错误或者发送请求失败等,则提示false,并且Message属性会有具体错误信息描述。

    10310

    第二十一章:SpringBoot项目中的全局异常处理

    本章目标 基于SpringBoot项目配置全局异常处理并且返回固定的JSON字符串。...下面我们创建一个ApiResultGenerator用来生成ApiResult不同状态的返回内容(成功、失败)。...ApiResultGenerator构建者 该类是用来创建成功、失败返回JSON的工具类,普通消息方法代码如下图5所示: ?...图5 上图5内的方法是成功、失败共同调用的方法,成功构建ApiResult的方法如下图6所示: ? 图6 失败构建ApiResult的方法如下图7所示: ?...图9 上图9的内容是我们格式化ApiResult类后的Json字符串,可以看到给我们返回了错误消息以及对应的参数标识,证明我们配置的全局异常已经生效,当我们传入number = 0时,肯定会出现运行时的被除数不可以为

    1.7K30

    WordPress开发日志:利用Ajax添加文章页自动推送并显示推送结果

    为了再次重现这个功能,并且在前端显示文章是否收录,推送成功,推送失败,我决定利用已有知识,重写自动推送功能,实现访问文章即可自动推送文章到百度站长。...官方提供的PHP例子+JSON返回 现在网络上大多数的check_record(检测百度是否收录)大部分已经失效,我们这里自定义一个BD_Curl来获取记录值,对于本地和服务器均有效。...php 显示JSON格式的字符串,便于后续通过Ajax请求获取返回值,达到修改前端页面的效果 { 参数 说明 code 状态 url 传入的url is_shoulu 返回是否收录 Push_baidu...php 同样也显示JSON字符串,便于后续的Ajax请求,以下是该PHP显示的JSON: { 参数 说明 code 1为收录,0没有收录 url 传入的url 同样地,你也可以选择使用file_get_contents...映射或字符串值。规定连同请求发送到服务器的数据。 success(data, textStatus, jqXHR) 可选。请求成功时执行的回调函数。 dataType 可选。

    57420

    SpringBoot整合JWT

    而 JSON Web Token (简称 JWT)是一种用于身份验证和授权的开放标准,广泛应用于web应用程序和API中。本文将深入介绍 JWT,包括其组成、工作原理以及常见的应用场景。 1....什么是 JSON Web Token (JWT)? JSON Web Token(JWT)是一种开放标准(RFC 7519),它定义了一种紧凑且自包含的方式来在各方之间安全地传输信息。...如果验证成功,服务器根据 JWT 中的声明完成对用户的身份验证和授权操作。 4....getToken() 方法用于生成 JWT 令牌,接收一个 Map 类型的参数作为 Payload 数据,并返回生成的令牌字符串。...* 当有请求进入时,该拦截器会首先从请求头中获取令牌,并尝试验证其有效性。 * 如果令牌验证成功,则放行请求;否则,拦截请求并返回相应的错误信息。

    7510

    全面分析前端的网络请求方式

    ,如果在返回头中有多个一样的名称,那么返回的值就会是用逗号和空格将值分隔的字符串,用法: var header = xhr.getResponseHeader(name); 属性 readyState...text": 返回纯文本字符串 data 类型: String 使用 JSON.stringify转码 complete 类型: Function请求完成后回调函数 (请求成功或失败之后均调用)。...可以发现,调用 reject有三种可能: 1.请求超时 2.请求失败 注意:当和服务器建立简介,并收到服务器的异常状态码如 404、500等并不能触发 onerror。...然后我发现这里polyfill的实现和MDN-使用Fetch以及很多资料是不一致的: mdn: 默认情况下,fetch 不会从服务端发送或接收任何 cookies 于是我分别实验了下使用 polyfill...src属性中的链接可以访问跨域的 js脚本,利用这个特性,服务端不再返回 JSON格式的数据,而是返回一段调用某个函数的 js代码,在 src中进行了调用,这样实现了跨域。

    1.8K40

    腾讯安全威胁情报中心推出2023年7月必修安全漏洞清单

    Apache RocketMQ是一款开源的分布式消息和流处理平台,提供了高效、可靠、可扩展的低延迟消息和流数据处理能力,广泛应用于异步通信、应用解耦、系统集成以及大数据、实时计算等场景。...成功利用此漏洞的攻击者,最终可远程在目标系统上执行任意代码。 Metabase是一个开源的商业智能工具,您可以通过它理解数据、分析数据,进行数据查询并获取格式化结果(图形化视图),以数据驱动决策。...Adobe ColdFusion是一款基于Java的Web应用程序开发平台,它提供了一系列工具和技术,使开发人员能够快速构建和部署动态网站、企业应用和互联网应用程序。...Adobe ColdFusion还提供了丰富的标签库和函数库,使开发人员能够快速构建复杂的Web应用程序,而无须编写大量的代码。...据描述,该漏洞源于ColdFusion存在代码缺陷,攻击者可向ColdFusion服务器发送不受信任的序列化数据并触发反序列化,从而执行任意代码。

    48960

    Java项目实现消息推送到团队微信,让项目“会说话”

    如果需单独搭建推送服务,给其他工程使用,可以使用PHP进行搭建: 【Web Function】实战使用:PHP Web函数搭建推送服务,轻松推送消息至个人微信 推送服务 具体来说,推送服务的思路是这样的...绑定个人微信 如果你并不想保留企业微信在手机上,想直接推送消息到自己的个人微信,可以进入「我的企业」 → 「微信插件」,拉到下边扫描二维码,关注以后即可收到推送的消息: [绑定个人微信] 通讯原理 综上...); //发送http请求并返回结果 try { String result = sendMessageToWechat.HttpRestClient(url, method, json);...] 样例代码 有些小伙伴可能想要文中的样例代码,为此我也在Github上进行了开源: https://github.com/Mintimate/WeChatPushJava 完善思路 这样的推送服务是可以完善的...Serverless: PHP Web函数搭建推送服务,轻松推送消息至个人微信 总结 综上所述,就是让Java项目“说话”的方案了嗷。

    2.9K101

    【项目设计】网络对战五子棋(下)

    ,如果是下棋请求,那就在handle_request内部调用handle_chess接口,并返回一个json格式的响应字符串,如果是聊天请求,那就在内部调用handle_chat接口,也返回一个json...当服务器收到请求之后,会进行后端的业务处理,比如看看这个用户是否已经存在过了,如果存在过,则请求失败,我们返回一个失败的响应,响应正文也为json组织的字符串,包括result和reason这两个字段,...当请求成功时,只需要返回result为true的一个json格式的字符串即可,当请求失败时,描述好失败的具体原因即可。...格式的字符串,返回给客户端即可,如果该用户不存在,构建失败的响应返回即可。...第二次响应是,如果有其他玩家和当前这个玩家匹配成功了,那服务器也要给客户端返回一个包含match_success的optype字段的json格式的响应字符串。

    47140

    Ajax 异步的JavaScript与XML技术

    与此不同,AJAX应用可以仅向服务器发送并取回必须的数据,并在客户端采用JavaScript处理来自服务器的回应。因为在服务器和浏览器之间交换的数据大量减少,服务器回应更快了。...同时,很多的处理工作可以在发出请求的客户端机器上完成,因此Web服务器的负荷也减少了。...发送请求的地址 data:是一个对象,联通请求的发送到服务器中的数据; dataType:预期服务器返回的数据类型。...如果不确定,jQuery将自动根据HTTP包MIME信息来只能判断,一般采用json格式,将其设置为“JSON”; success:是一个方法请求成功后的回调函数,传入返回后的数据,以及包含成功代码的字符串...; error:是一个方法,请求失败时调用此函数,传入XMLHttpRequest对象。

    1.6K10

    【项目设计】网络对战五子棋(上)

    ,是有一个事件evt参数的,这个evt保存的是服务器返回的一个普通字符串,通过.data的方式就可以访问到里面的内容了,如果服务器返回的是json序列化之后的字符串,则我们需要先对e.data做json...json在反序列化时,是通过parse接口来将json格式的字符串解析反序列化到Value 类型的root对象中,只不过我们需要传入这个json格式的字符串的起始地址和末尾地址。 3....,如果存在,则说明注册请求失败,服务器返回一个失败的响应,如果注册成功,则服务器返回一个login.html,用户面前就是展示成登录的页面了,此时用户就又可以输入用户名+密码,点击提交按钮进行登录,当登录的请求被发送到服务器后...在反序列化这里,也是需要外部传入一个json格式的字符串str,然后内部将str做反序列化,将反序列化后的json格式的value对象赋值给输出型参数root中,外部就可以拿到反序列化后的value对象了...,那么此时就应该将谁胜利的消息广播给房间中的双方玩家,然后前端页面会进行检测,看看服务器发送回来的消息中,胜利者是不是我自己,如果是我自己,那就应该在页面上显示,我胜利了,如果不是我,那就应该显示我失败了

    30230

    ASP.NET 使用Ajax

    发往服务器的参数 6. dataType:参数格式,常见的有string、json、xml等 7. contents:决定怎样解析response的一个”字符串/正则表达式” map 8. contentType...9. success:请求成功后调用的句柄 10.error:请求失败后调用的句柄 没使用过jQuery的ajax话这样看有些云里雾里的感觉,来看一个简单例子 首先使用Visual Studio新建一个...中取得,每次根据参数ID值返回对应json对象字符串,为了展示json格式数据交互,需要为项目引入json.net这一开源类库处理对象序列化反序列化问题,然后创建一个Student类文件 Student.cs...而上一个例子中我们得到的response是一个json字符串,在客户端需要用eval使其转换为json对象。...我在项目中最常使用这个模式,这样既保持了jQuery的灵活性又可以在一个Service中书写多个方法供调用,还不用走复杂的页面生命周期 json.net和本文示例源代码 json.net是一个开源的.net

    2.7K20
    领券