本文以最新版安全狗为例,总结一下我个人掌握的一些绕过WAF进行常见WEB漏洞利用的方法,希望能起到抛砖引玉的效果。如果师傅们有更好的方法,烦请不吝赐教。
你是否曾经为大文件上传而苦恼?如果文件上传的过程中,因为某种原因中断了,是否可以从中断的位置继续上传,而不用重新上传整个文件?如果你有这样的困惑,那么请继续阅读下面的内容。
连续研发【附近的人】---swoole love thrift 3000 ci(十)
之前写过两篇关于WAF分块传输绕过内容对文章,对于分块传输不太熟悉的可以先看前两篇内容,本篇文章也是在其基础内容上进行扩充。
HTTP分块传输(Chunked Transfer Encoding)是一种HTTP协议在数据传输时的编码格式,它允许将数据分成若干个块进行传输。每个传输的块都包含大小信息和实际的数据内容。让服务器发送大型文件或流数据时不必一开始就发送全部内容,而是可以分成一块一块的数据来发送。这样可以节省带宽和内存,特别是对于需要长时间连接的情况。
WebShell 的检测和查杀是 Web 安全里热门且永恒的话题之一了,在网络安全世界里,攻击者总是先拔头筹,出其不意,防守方常常处于比较被动的局面,扮演者受害者的角色。
2021年了,现在渗透的越来越难了,刚打的shell,过一会就没了,现在的流量设备,安全设备一个比一个流弊,payload一过去就面临着封禁,为了对抗设备,一些大佬们总结出很多绕过这种基于签名的*WAF 或 IDS* 的手法,为什么叫基于签名的?因为这种设备也是检查数据包中一些特征字符,比如什么and 1=1 什么的,但是肯定不会这么简单的,除了几个黑名单的固定的特征字符,很多都是那种通过正则去匹配特征字符的,这也是造成绕过可能性的原因。
最近参加重保,和同事闲聊时间,谈起来了外网,彼时信心满满,好歹我也是学了几年,会不少的。结果,扭头看完do9gy师傅的《腾讯 WAF 挑战赛回忆录》,就啪啪打脸了。说来惭愧,最近一段时间,拿到offer就开始飘起来了,现在悔不当初,于是就想写一篇关于这篇Http首部字段文章的"训诂篇"出来,一来当做知识巩固,二来算是完善些和首部字段相关的知识点(可会因为见识不足,导致遗漏)。毕竟,小白可能这方面了解不多,只了解Cookie和Agent这种常见类型的首部字段,却很少听过Accept-Encoding和Content-Encoding这类不太常用的首字部。
分块传输编码(Chunked transfer encoding)是超文本传输协议(HTTP)中的一种数据传输机制,允许HTTP由应用服务器发送给客户端应用( 通常是网页浏览器)的数据可以分成多个部分。在消息头中指定Transfer-Encoding: chunked 就表示整个response将使用分块传输编码来传输内容,一个完整的消息体由n个块组成,并以最后一个大小为0的块为结束。每个非空的块包括两部分,分别为:块的长度(用十六进制表示)后面跟一个CRLF (回车及换行),长度并不包括结尾的回车换行符。第二部分就是数据本身,同样以CRLF (回车及换行)结束。最后一块是单行,只由块大小(0)以及CRLF组成,不包含任何数据。
某狗可谓是比较好绕过的waf,但是随着现在的发展,某狗也是越来越难绕过了,但是也不是毫无办法,争取这篇文章给正在学习waf绕过的小白来入门一种另类的waf绕过。
https://github.com/AntSwordProject/antSword
前天推送的文章《两道腾讯技术面试题(二面经历)》,收到了不少留言,感兴趣的可以去哪篇文章下查看精选留言,有一多半同学没有正确理解题目,可分享的留言寥寥无几,根据留言我实现了一套方案。
最近大家都在捣腾 0708,由于太菜,只好坐等大佬分析喽。也没处理 issue, 也没写东西。回去领了个证书,说实话提前预约,到场直接走流程,留下身后一堆怨毒的眼神这种感觉自己像VIP一样的待遇真爽,后面找机会再分享一下这个事。
近期正在探索前端、后端、系统端各类常用组件与工具,对其一些常见的组件进行再次整理一下,形成标准化组件专题,后续该专题将包含各类语言中的一些常用组件。欢迎大家进行持续关注。
理论上只要是能安装上mktorrent这个小工具的Linux系统都是可以用下面的方法来制作种子的,这个不限于CentOS7,只是我用CentOS7写文章而已。
本文实例讲述了PHP大文件分块上传功能。分享给大家供大家参考,具体如下: 前端代码 使用file.slice将文件进行分割,然后分别进行异步上传。 <!DOCTYPE html <html lang="zh-cn" <head <meta charset="utf-8" <meta http-equiv="X-UA-Compatible" content="IE=edge" <meta name="viewport" content="width=device-width, init
如果流量都没有经过WAF,WAF当然无法拦截攻击请求。当前多数云WAF架构,例如百度云加速、阿里云盾等,通过更改DNS解析,把流量引入WAF集群,流量经过检测后转发请求到源站。如图,dict.com接入接入WAF后,dict.com的DNS解析结果指向WAF集群,用户的请求将发送给WAF集群,WAF集群经过检测认为非攻击请求再转发给源站。
HTTP协议覆盖绕过是更换Content-Type类型来绕过WAF的检测,⽬前很多WAF对Content-type类型是⾸要的检测点。利用【multipart/form-data】协议的⽅法,更改Content-type的类型为【multipart/form-data】和构造【multipart/form-data】请求内容,当WAF没有规则匹配该协议传输的数据时可被绕过。
如果我们有一批以文件存储的影像数据如何利用PostGIS批量的导出到PostgreSQL数据库中进行管理呢? (单个数据的导入参见我上篇博文:PostGIS导入导出栅格数据)
所谓BigPipe,指的是Facebook开发的用来改善客户端响应速度的技术。本质上讲,其实它并不是新事物,原理上等同于Yahoo在Best Practices for Speeding Up Your Web Site里提出的Flush the Buffer Early,不过BigPipe的实现更灵活,所以有必要了解一二。
篇文中我们已经好像大概似乎看起来貌似搞定了ECB、CBC、CFB、OFB、CTR这五个英文单词缩写代表啥意义了,也弄清楚了aes-128-ecb中的128是啥意思了,好像还接触了一下填充的概念,最后就差那个iv向量到现在还没搞明白是个什么鬼玩意了… …
fastdfs作者及软件的下载方式:https://github.com/happyfish100
由于上次发了一篇文章,记一次Apache Shiro权限绕过实战,文章中出现了利用BurpSutie扩展,快速定位Shiro框架资产的插件,很多同学找我问了这是什么插件,于是我决定写篇文章分享一下自己所收集的部分BurpSutie扩展,供各位参考使用。
HTTP Live Streaming(HLS)是Apple公司主导提出并实现的基于HTTP的自适应码率流媒体通信协议(RFC8216),作为其产品QuickTime,Safari,OS X和iOS的一部分,在Apple的产品生态链中占有重要地位。同时,越来越多的第三方厂商的产品,如Microsoft Edge,Firefox和 Google Chrome、安卓操作系统也都实现了对HLS的支持。而且有大量的流媒体服务器都支持HLS。
变量安全是PHP安全的重要部分,本文系统地分析了一个变量的“人生之旅”中存在哪些安全问题。变量的人生之路:传入参数→变量生成→变量处理->变量储存。
readv() failed (104: Connection reset by peer) while reading upstream
Transfer-Encoding: chunked 表示输出的内容长度不能确定,普通的静态页面、图片之类的基本上都用不到这个。
本文实例讲述了PHP实现的AES 128位加密算法。分享给大家供大家参考,具体如下:
使用PHP来展示常规的表单上传是一个不错的选择。首先构建文件上传的表单,并指定表单的提交内容类型为enctype="multipart/form-data",表明表单需要上传二进制数据。
本文实例讲述了laravel框架数据库操作、查询构建器、Eloquent ORM操作。分享给大家供大家参考,具体如下:
同事叫我帮忙解释一个问题:一个PHP生成的重定向请求,在Nginx日志里产生两种截然不同的记录:一种响应体大小是零个字节;另一种响应体大小是五个字节。
php扩展的路径,图省事没用lamp包有点捞…(这里还是说下linux不推荐用phpstudy,很多linux装了phpstudy系统会崩)
通常视频文件都比较大,所以对于媒资系统上传文件的需求要满足大文件的上传要求。http协议本身对上传文件大 小没有限制,但是客户的网络环境质量、电脑硬件环境等参差不齐,如果一个大文件快上传完了网断了,电断了没 有上传完成,需要客户重新上传,这是致命的,所以对于大文件上传的要求最基本的是断点续传。
本文实例讲述了PHP数据库操作之memcache用法。分享给大家供大家参考,具体如下: 在一个高并发的web应用中,数据库存取瓶颈一直是个大问题,一旦达到某个极限,数据库很容易崩溃,但是如果我们把常用的数据放到内存中,在需要的时候从内存中取,不光读取速度快,而且节约数据库IO。 memcache简介 Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。简单的说就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度。 memcache的mem是内存(memory),cache是缓存,结合是内存缓存的意思。我们应用memcache时,读取数据先从memcache内读取,若查找不到再去数据库里查找,并将数据存入memcache,待下次查找时便能轻易找到。 需要注意: memcache是内存型的数据库 ,因为内存的关闭释放的特性,memcache也无法持久化存储内容; memcache内部是分块存储,所以大于1M的数据也无法存储。 memcache依赖libevent库,安装前需确认已经安装了libevent库。 memcache是一个轻量级的内存型数据库,只支持key-value型的存储。 memcache中没有关于用户,密码的设置,所以在配置时要配置防火墙的端口限制连接,以达到安全的目的。 使用repcached也能轻易实现memcache的单master单slave主从复制。 memcache的应用场景 存储大量不需要持久存储或数据库内已存在不会变动的数据。 读取数据非常频繁数据,要求小于1M。 数据类型简单的key-value型数据。 计算好的结果和渲染后的网页模板文件。 因其原子递增性,可以用来计数。 因为可以设置数据过期时间的特性,存储期限数据。不过需要注意,memcache会在分配的内存不足时以最近最少使用原则(LRU)重用内存,可能会导致信息提前被删除。 用memcache存储session信息,以达到多服务器session共享。需要配置:php.ini:
最近接到一个新的需求,需要上传2G左右的视频文件,用测试环境的OSS试了一下,上传需要十几分钟,再考虑到公司的资源问题,果断放弃该方案。
本文实例讲述了PHP数据库操作之memcache用法。分享给大家供大家参考,具体如下:
Typecho 简介 Typecho 是一个简单、强大的轻量级开源博客平台,用于建立个人独立博客。它具有高效的性能,支持多种文件格式,并具有对设备的响应式适配功能。Typecho 相对于其他 CMS 还有一些特殊优势:包括可扩展性、不同数据库之间的切换能力、体积小巧以及易于部署上等。 Typecho 的特色之一是支持多样化文件格式,例如 HTML、Markdown、BBCode 等;此外,它还具有可扩展性、不同数据库之间切换能力以及体积小巧且易于部署上。 对象存储 COS 简介 对象存储(Cloud
Http协议定义了分块传输的响应header字段,但具体是否支持取决于Server的实现,我们可以指定请求头的”range”字段来验证服务器是否支持分块传输。例如,我们可以利用curl命令来验证:
服务器环境: php7.2 nginx 1.14 ubuntu 18.04 测试浏览器:谷歌浏览器 70.0.3538.110(
支持大文件批量上传(20G)和下载,同时需要保证上传期间用户电脑不出现卡死等体验;
Tips: 业务逻辑不应该写在路由当中,路由只是接收参数后转发给控制器(Controller)进行处理
https://learnku.com/docs/laravel/9.x/queries/12246
最近用到了Vue + Spring Boot来完成文件上传的操作,踩了一些坑,对比了一些Vue的组件,发现了一个很好用的组件——Vue-Simple-Uploader,先附上gayhub的
领取专属 10元无门槛券
手把手带您无忧上云