学习
实践
活动
专区
工具
TVP
写文章

关于WAF那些

0x02 waf绕过方式 1、Web容器特性 特殊百分号 在 IIS+ASP 环境中,对于URL请求参数值中%,如果和后面的字符构成字符串在 URL编码表 之外,ASP脚本处理时会将其忽略。 畸形HTTP请求 当前HTTP服务依据是RFC2616标准HTTP请求,但是当我们向Web服务器发送畸形,也就是并非这个标准HTTP数据包时候,由于Web服务器一些兼容性特性,会尽力解析这些畸形数据包 这些字母出现顺序,表明了数据加载顺序。而 php.ini 中这个参数默认配置是 GPCS ,也就是说如果有 POST 方式传入相同数组,就覆盖掉 GET 方式传入。 ? 3、WAF自身问题 白名单机制 WAF存在某些机制,不处理和拦截白名单中请求数据: 1、指定IP或IP段数据。 2、来自于搜索引擎爬虫访问数据。 3、其他特征数据。 当然关于文件上传的话,可以试试将关键字换行分离试试看。下面看个例子: ? 对于网站来说,这样写是可以解析,但是站在WAF设计者立场,他们可能并不知道,这个是可以这样写

2.3K31

关于 Git 那些

主要记录学习 Git 过程中一些坑。重点在于各种 Git 操作,但也不限于此,一些和 Git 相关东西都会记录一下。 本文思维导图如下: ? 1. 必须先执行下面的操作进行同步: git pull origin/remote_branch 这个指令其实做了两件事,第一件是把远程已被 A 更新 remote_branch 分支拉到本地: git fetch origin/remote_branch 第二件是将这个目前最新分支与本地 B 自己分支进行合并: git merge remote_branch origin/remote_branch 6.3 修改同一文件文件名 假设现在场景是:A 修改 a 文件文件名为 a1,之后 push;B 修改 a 文件文件名为 a2,也想要 push,因为本地和远程不同步,根据之前解释,到这里自然会报错 local 和 origin 同步 这个就是之前讲情形,origin 是 A 自己远程仓库,A 具有自由读写权限,可以直接 pull 和 push。

61750
  • 广告
    关闭

    新年·上云精选

    热卖云产品新年特惠,2核2G轻量应用服务器9元/月起,更多上云必备产品助力您轻松上云

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

    关于面试二三.

    A: 关于这一块我首先说了我们项目是由多个子系统构建, 然后说我们系统中一些调用需要使用到Dubbo, 最后对比了Dubbo与WebService区别. 5, Q: 面试官问我是否了解集合一些类 (关于HashMap问真的很多, 建议大家有时间一定要看下源码, 这里给出一个总结很好博文: http://blog.csdn.net/luanlouis/article/details/41576373 关于如何调试我直接说我有了解是通过生成dump文件 然后去调试.剩下就不知道了. 简答题并不难, 最后一个关于IO操作且写出代码题我也空着没有做. 剩下就是面试了, 这次是一下来了两个面试官, 估计是一面二面全都一起来面了. 我自己又找了下HashMap中关于hashcode定位桶位置方法: 1 /** 2 * 根据特定hashcode 重新计算hash值, 3 * 由于JVM生成

    70380

    关于编码那些

    引言 之前做一个POC时候,Vicky同学遇到一个关于编码问题,问到我,我觉得当时没有解释得很清楚,于是决定查阅相关资料文档,写一篇文章,记录这个问题及对背后原因、原理理解。 问题 关于这个问题,为了简化起见,我会做一些假设。问题原型是有一个Web application,后台用Java实现,前端Javascript。 这就是计算机专业同学刚上大学要了解ASCII码表,比如小写a是97,大写A是65,等等。 由于这种编码只定义了所有的英语字符,所以如果世界上所有电脑都采用英语系统,也就没有下面编码什么了。 但是现实是残酷,世界上各个国家,甚至民族都有自己语言符号,将这些语言文字符号在计算机系统中显示存储,随着计算机普及,是一件水到渠成必须要解决问题,于是就有了以下各种编码方式出现。 最开始各个主流语言都出现了自己编码规则,比如简体中文GB2312,繁体中文BIG5,日语JIS等。

    29420

    关于文档那些

    ; 5、和团队其他角色沟通用时,脑海关于需求千丝万缕先用文字、图表描述出来,在沟通过程中就可以精确描述和表达,再具体讨论有疑问点,最后勾勒出整个需求蓝图; ... 信息是数据组合排列,比如微博上每日最新资讯,朋友圈不断更新动态。 知识是大脑对信息组合与整理,对别人而言知识,对自己可能只是信息。 信息经过大脑整合,组织出自己能够理解知识并沉淀下来,则成为个人知识、团队文档。 写文档几个思路: 太简单不写; ==> 浪费时间; 自己不熟悉不写; ==> 误人误己; 炫耀性文章不写; ==> 蹉跎岁月; 没有总结不写; ==> 先思考后产出; 看完没有收获不写 1、明确此篇文档目标人群; 以技术方案评审文档为例,文档目标人群是参与评审技术同学,所以描述需要更加抽象,避免出现大量细节; 以反馈问题跟进文档为例,文档目标人群是运营、产品、开发等,所以需要针对特定逻辑

    31010

    关于 Git 那些

    这么一来,任何一处协同工作用服务器发生故障,事后都可以用任何一个镜像出来本地仓库恢复。因为每一次提取操作,实际上都是一次对代码仓库完整备份。 2、删除换行符后,删除行数加 1。 3、修改了某一行后,增加和删除行数同时加 1 4、统计代码指标只有增加和删除行数,没有修改行数,与 svn 不一样。 Pretty 参数表示对输出值进行格式设置,awk 为 linux 系统中自带一个强大文本分析工具,通过后面指定方式计算出代码增加和删除量,同时输出到命令行中。 下图中直接得到修改值: (2) 统计其他分支代码修改量 由于进入项目之后,默认进入是 master 分支,有可能会有需要统计其他分支情况,此时需要先进行分支切换,然后再进行统计。 总结 本篇文章主要讲了下 Git 一些基本概念以及如果使用 git log 命令来进行一段时间段代码量统计,其中还可以统计不同作者修改代码量,其中关于 git log 统计其他功能在这里就不细说了

    89510

    关于文本排序那些

    这里讨论文本排序不是一个排序算法,而是作为某个排序算法底层依赖,常常在多语言环境下需要考虑,比如说中文排序,日文排序。 之前就遇到过一个关于文本排序问题,问题原型是: 有一个电商平台,商家可以在平台上开店,在商家后台产品管理界面,商家看到产品列表默认以名字排序。 这个问题原因是:电商平台底层用是Posgres数据库,页面上看到产品列表排序是在后台数据库完成关于defaultcollation是哪个,可以参考Postgres官方documentation - https://www.postgresql.org/docs/9.5/locale.html。 我们创建数据库时候没有指定,所以用是defaultcollation,default会参考操作系统默认locale设定,这里是en_US.utf8。

    82720

    关于java打包那些

    生成包名对应目录 javac .\Test.java -d . # 运行,一个类全名应该是包名+类名。 类全名:com.demo.Test # 运行目录则是root package所在目录 java com.demo.Test java执行class文件是根据CLASSPATH指定地方来找,不是我们理解当前目录 java执行class文件对package路径是强依赖。它在执行时候会严格以当前用户路径为基础,按照package指定包路径转化为文件路径去搜索class文件。 必须要在一行上,多个jar之间以空格隔开,如果引用jar在当前目录子目录下,windows下使用\来分割,linux下用/分割 文件冒号后面必须要空一个空格,否则会出错 文件最后一行必须是一个回车换行符 (Oracle Corporation) # 启动类路径名称要与jar包中路径名称完全一致,否则在执行时候会报招不到主启动类错误。

    16100

    关于Java那些“锁”

    Java中分很多种类,按照场景不同、特性不同等分为了很多类,下面就来讲讲Java中锁概念: 自旋锁:是指当一个线程在获取锁时候,该锁已经被其他线程占用,则该线程会循环等待,并会不断检查是否成功获取锁 乐观锁在获取资源时候,认为不会有其它线程来资源资源(假定没有冲突),所以在获取资源时候,不会加锁。其他线程来获取资源时候,会根据实现场景不同而采取不同方式(重试或报错)。 只要一个线程获取到了对象锁,会修改对象头中Mark Word状态,同时线程中也会保存对应状态。 而Java中乐观锁最常采用是CAS算法。 悲观锁和乐观锁应用场景 悲观锁适用于写多读少场景,操作资源时候先加锁可以保证资源正确性 乐观锁适用于读多写少场景, 不加锁可以让读取数据效率大幅增强 自旋锁和适应性自旋锁 阻塞或唤醒一个Java Klass Point是是对象指向它类元数据指针,虚拟机通过这个指针来确定这个对象是哪个类实例,Mark Word用于存储对象自身运行时数据,它是实现轻量级锁和偏向锁关键,今天要介绍也是Mark

    16630

    关于加密、证书那些

    以上这个流程是在设备生产环节完成,这里描述还是属于粗线条,其他一些重要信息没有列出来,比如:AWS后台如何产生证书、在连接阶段后台是如何通过证书来验证设备合法性、厂商秘钥是如何工作等等, server端解密算法是一样,当然了这里算法太简单。 最终,证书server.crt中内容包括这几个大类: 申请者基本信息:网站使用加密算法、网站使用hash算法; 申请者公钥; 认证机构信息:认证机构名称,证书到期时间。 单向认证和双向认证 上面描述认证过程,是浏览器用来确认所访问网站是否是一个合法网站;文章开头所举例子:一个物联网产品在连接云平台时候,是云平台来验证这个想连接进来设备是否为一个合法设备。 不同等级认证机构对审核要求也不一样,于是证书也分为免费、便宜和贵。 你可能会问:那么根认证机构证书是由谁签名?答案是:根认证机构自己签名,这也叫做自签名。

    36230

    关于Android N那些

    当然,这种老掉牙特性是不会引起高冷PM注意,只会扔给开发狗交给我们去适配。 对于这一个看似自废武功调整,我举双手赞成。 Quick Setting 说到这个话题,真的很想用标准朋友圈标题:《Android Developer一定不会告诉你!怒转!》 瘦身计划 这个并不是说Android机器人变瘦了,实际上,它还是那个胖胖样子: 额。。。天天吃苹果当然会胖。。。 同时,关于设计方面,Material Design推出已经接近两年,尽管有很多应用已经适配,但是包括微信、Facebook、Twitter在内很多主流应用仍然在坚持使用自己设计语言。 嗯,关于碎片化,首先,Android目前版本分布是酱紫(来自Google官方,链接http://developer.android.com/about/dashboards/index.html)

    61360

    关于Kubernetes证书那点

    Kubernetes 需要 PKI 证书才能进行基于 TLS 身份验证。如果你是使用kubeadm安装 Kubernetes, 则会自动生成集群所需证书。 但是如果是通过二进制搭建,所有的证书是需要自己生成,这里我们说说集群必需证书。 服务器单向认证:只需要服务器端提供证书,客户端通过服务器端证书验证服务身份,但服务器并不验证客户端身份。 这种情况一般适用于对 Internet 开放服务,例如搜索引擎网站,任何客户端都可以连接到服务器上进行访问,但客户端需要验证服务器身份,以避免连接到伪造恶意服务器。 ,那么他们是怎么通讯呢? 该证书用法和前面介绍其他证书不同,因为实际上使用是其公钥和私钥,而并不需要对证书进行验证。

    7.4K73

    关于字符编码那些

    旗语,电报中莫斯电码等等,这些东西里面也包含了编码 二、关于字符集和字符编码 因为计算机中信息都是用二进制数表示,所以我们必须将汉字、英文按照一定规则表示出来储存在计算机中 所以字符编码就是为了信息处理 关于BOM 因为UTF-32和UTF-16使用4字节或字节进行编码,因此传输时候便会出现字节序问题,例如“奎”Unicode编码是594E,“乙”Unicode编码是4E59。 1110之后所有部分(4个bit)加上后两个字节除10外部分(12个bit)代表在Unicode中序号。 11110之后所有部分(3个bit)加上后两个字节除10外部分(12个bit)代表在Unicode中序号。 1110 767E 度 e5ba a6 11100101 10111010 10100110 0101 1110 1010 0110 5EA6 关于UTF8和UTF8 mb4 MySQL 5.5.3版本开始

    41760

    关于产品那些

    要成为专家,需要采用正确训练方法,然后通过高质量反馈循环不断提高。 因此,你需要做就是在尽量短时间内给你用户提供大量高质量示例。 对于那些已经入门用户,你需要做就是不断优化产品,解决他们遇到问题。如果解决不了,请诚实告诉他们:我看到了你反馈,这里确实有问题,不过目前我们还无法解决。 对产品设计启示:尽量减少对用户干扰,让用户把有限大脑资源用在最重要上。 怎么减少干扰? 大脑有一个过滤系统,如果你产品或者功能无法说服它,它就会直接把你过滤掉,因此你必须知道大脑关心什么。 人类已经进化了上万年,科技飞速发展只是最近几百年,因此大脑在这方面显得相当落后。 在我看来,世界本身是个高维东西,我们人类则处在低维空间,因此我们看到都只是真实世界一个投影。从这个角度出发,如果世界中有一个放之四海皆准方法,投影到不同低维空间也会导致不同结果。

    26740

    关于基因ID二三

    例如下图就是一个基因多个数据库不同ID号。 ? 这也就导致经常在进行数据分析之前拿到手关于基因数据对于基因ID注释可能不是我们想要基因名,所以经常会就会需要进行ID转换。 对于这样ID号,其实就是来自于ncbi里面的gene数据库。如果想要了解gene数据库的话,可以参考我们第二条推送。 ? 关于gene数据库对于ID注释。这个ID号只是代表基因。 另外,我们检索这个基因是一个非编码RNA(ncRNA)的话,那关于转录本注释就从之前NM开头变成了NR开头了。 ? Ensemble ID ? 关于Ensembl ID,不管是什么类型,其ID号前三个开头都是以ENS开头。剩下可以再看第四位: G代表是Gene。 例如Affymetrix Human Genome U133 Plus 2.0 Array这个芯片的话,其ID号就是这个样子。 ? 很多ID转换数据库也提供了关于芯片ID转换。

    66140

    关于烂代码那些

    在发布了关于烂代码那些(上)之后,发现这篇文章竟然意外很受欢迎,很多人也描(tu)述(cao)了各自代码中这样或者那样问题。 在准备bootcamp课程时候,我就为这个问题犯了难,我尝试着用一些精确定义区分出“优等品”、“良品”、“不良品”;但是在总结过程中,关于“什么是好代码”描述却大多没有可操作性 2.1.好代码定义 ; 4.性能接近最佳化,避免代码混乱和无原则优化; 5.整洁代码只做一件。 Grady Booch,《面向对象分析与设计》作者: 1.整洁代码是简单、直接; 2.整洁代码,读起来像是一篇写得很好散文; 3.整洁代码永远不会掩盖设计者意图,而是具有少量抽象和清晰控制行 其次也需要考虑注释质量:在代码可读性合格基础上,注释应该提供比代码更多信息。文档和注释并不是越多越好,它们可能会导致维护成本增加。关于这部分讨论可以参考简洁部分内容。

    9520

    关注

    腾讯云开发者公众号
    10元无门槛代金券
    洞察腾讯核心技术
    剖析业界实践案例
    腾讯云开发者公众号二维码

    相关产品

    • 对话机器人

      对话机器人

      云小微对话机器人基于完全自研的AI全链路能力,对用户输入的文本或语音识别的文本做语义理解、识别用户真实意图,记忆上下文和联想分析,面向用户提供快速、精准的信息问询体验。同时还为客户提供运营工具,通过对线上用户日志的挖掘,以及腾讯海量线上数据挖掘,提炼出各种问法,最终提高用户服务体验的满意度,减轻人工服务压力。

    相关资讯

    热门标签

    活动推荐

    扫码关注腾讯云开发者

    领取腾讯云代金券