自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 收藏
  • 关注

原创 使用matrix parameter绕过waf检测

使用matrix parameter绕过waf检测

2024-01-29 16:50:42 289

原创 csrf 与 samesite

很多人在学习csrf的时候,书本和文章上都会写到,在a站点面嵌入一个b站点的链接,那么浏览器在请求b页面的资源时会自动带上b的cookie。不过我觉得这些文章的内容已经有些过时了,近期在解决内部的一个csrf问题时,发现当前浏览器已经默认启用了cookie中的samesite保护机制,这种跨域的csrf想利用已经很难了。简单来说就是服务端在返回set-cookie时,可以加上一个samesite属性,这个属性有三个值:lax/strict/nonelax:跨域的请求不会带上cookie,不过如果

2022-01-13 14:27:17 2221

原创 解决requests自动进行url解码的问题

以前自己做测试的时候经常使用python requests,发送各种http请求非常方便。但是最近升级到python3使用requests之后,发现在我的请求发出去之前,requests会做一些解码/目录压缩之类的工作。举几个例子:/test.php?a=%61%62%63%64使用requests发出请求后,抓包会发现实际请求中的参数被解码,变成了如下内容:/test.php?a=abcd另外一个例子:aa.com/abcd/../123/../test.php最后发出去的

2021-12-30 16:38:41 4941 1

原创 使用浏览器插件探索自动化测试

最近在做的一个项目中,我需要帮客户去维护一些基础数据,其中有一项工作内容就是需要对3000多个数据做批量的处理。这个过程需要我在系统的页面上,批量的对每一页的数据进行过滤、全选,然后批量操作,直到这3000多个数据全部梳理完成。借此机会探索一下浏览器插件开发,之所以决定用浏览器插件的方式,有以下几个原因:1.  selenium也可是实现页面自动化,只是我觉得这个东西不是很好用,要一直

2017-06-26 14:29:43 3449

转载 利用形态相近的字符进行钓鱼欺骗

http://www.freebuf.com/articles/web/136729.htmlfreebuf上看到的一篇文章,挺有意思的。大致思路就是有很多非拉丁字母的字符,形态上与英文字母特别相近,但是其实是完全不同的字符。攻击者利用这些形态特别相近的字符,去注册一个看起来很常见的域名,进行钓鱼欺骗。目前已知的大部分都是用西里尔字母进行混淆欺骗:比如:ЗбО.com,其实

2017-06-12 11:38:39 768

原创 ajax 不会执行返回数据中的js代码

进行脆弱性测试时遇到一个问题,提交的恶意数据虽然没有被过滤,但是不会出现弹窗。提交的数据为alert(123).从web上看,显示数据的那一部分为空,可见自己提交的数据已经被作为标签解释了,不然会直接把代码显示出来。研究了好长时间,最后怀疑是ajax本身就不会去执行这部分代码。换成img onerror之后就可以成功弹窗了。在网上搜到了一些解释,不过不知道是

2017-06-11 14:07:40 1146

原创 如何解决wireshark抓包大于mtu的问题

在测试的时候,发现有些时候用wireshark抓到的包中含有很多大于mtu的数据包。于是试了一下,在本机抓包和在通信的对端同时抓包,发现本机上抓到了大于mtu的包,但是对端却没有这种包。可以推断出数据包在最后发出去的时候,还是进行了切分。从这个现象大概也可以猜测出wireshark抓包的机制,大概是在什么地方抓取的包。于是想了想网卡上有没有什么参数可以配置来解决这个问题,最后发现一

2017-06-11 14:04:59 10563

转载 freebuf上一篇关于waf绕过的介绍

http://www.freebuf.com/articles/web/54686.html后面xss中加入回车换行tab符混淆,结合webkit词法解析讲的很不错

2017-06-11 14:03:37 624

原创 linux的单用户模式

这两天了解到linux有单用户模式一说,类似于windows的维护模式。最常用到的就是通过但用户模式修改root密码。centos下进入单用户模式的方式如下:开机引导处,输入e进入grub界面进入grub引导界面时,输入e进入编辑状态选中kernel一行,输入e进行编辑,追加“ single”,注意single前有空格。回车提交。输入b进

2017-06-11 14:00:52 3881 1

原创 FTP主动模式与被动模式互相切换

今天和同事讨论ftp连接中,能不能先协商成主动,进行文件操作后,再换成被动模式进行文件操作。有的同事提出不可以,想切换模式的话控制连接也会断掉。但是我认为是可以切换的,为了证明我的观点,我找环境试验了一下,事实证明是可以切换的,控制连接保持不变,数据连接会重新协商。不过我在测试的时候发现,命令行下面,虽然可以通过literal pasv或者quote pasv命令切换到被动模式,但是当

2017-06-11 13:59:19 14693

原创 利用html编码进行xss攻击

脆弱性测试的时候,发现了一处输出没有做编码转换,但由于开启了magic_quote_gpc,导致提交的数据中,' "都被转义,最后导致输出的地方不能执行恶意js。如下:提交的恶意数据为1',alert(123),'因为被magic_quote_gpc转义,存储到后台的数据也是被转义的,导致输出的

2017-06-11 13:55:32 6993 1

原创 apache文件后缀名解析

apache对文件后缀名的识别是从后向前进行匹配的,以单个.作为分隔符。当遇到未知的文件后缀名时,会继续向前匹配,直到遇到可以识别的后缀名为止。如:根目录下有一个abc.php.xa.cd.gf文件,当通过浏览器请求这个文件时,因为第一个后缀名.gf是无法识别的,apache会继续处理.cd,同样无法识别,直到最后识别出.php,那么最后这个文件将被作为php文件解析并执行。

2017-06-11 13:51:27 8271

原创 iis文件解析漏洞

iis在解析文件时,存在如下两个漏洞,攻击者可利用这两个漏洞来绕过服务器对上传文件的检测。当web目录中存在一个文件夹为test.asp时,这个目录下所有的文件都会被作为asp文件解析。此种情况通常发生于可以在web服务器上创建目录的情况,攻击者可以随意创建一个名称为xx.asp的目录,然后在这个目录下上传后缀名为xx.jpg的文件,实际内容则为asp脚本。当发送请求xx.asp\

2017-06-11 13:49:00 603

原创 asp中null字符截断

在asp中,字符串中是允许存在null字符的,但是许多asp的文件上传系统中,当文件名中含有null字符时,会导致null字符后面的数据被忽略。简单的说,如果有一个asp的文件操作函数create_file(),传递参数a.jpg,那么会产生一个a.jpg的文件。可是,如果传递一个带有null字符的参数呢?看下面的例子:这样,因为null字符后面的数据都被丢弃,调用函数时,

2017-06-11 13:45:50 975

原创 文件后缀名添加多个.

假设c盘目录下有一个1.txt文件,在资源管理器中,输入下面的几种路径,最后的效果都是打开1.txt文件:c:\1.txtc:\1.txt.c:\1.txt...c:\1.txt.. .. .. .可见操作系统在处理文件名时,会自动过滤掉最后面多余的.与空格。利用这个特性,攻击者可以逃避一些web针对文件名的过滤检测。假设一个web页面提

2017-06-11 13:42:34 1467

原创 TCP Split Handshake Attack

一种规避攻击方式,传统的,网络中绝大部分的tcp三次握手都是由3个包来完成的。但是实际上一个tcp会话的建立,在三次握手的交互方式上,还有很多其他的方式。有一个比较典型的方法,就是服务器在收到了客户端的syn包之后,返过来再给客户端发送一个syn包,类似于服务器在收到了客户端的syn之后,重新向客户端的对应端口发起三次握手。具体交互过程如下:刚接触这个规避攻击方式时,觉得还

2017-06-11 13:26:17 2183

转载 一个不需要cookie与js却能实现类似cookie功能的手段

http://www.91ri.org/7009.html使用etag,挺有创意的。

2017-06-11 13:24:31 887

原创 http应答分割攻击

phpbb上的一个比较经典的漏洞,估计这个攻击也是因为这个漏洞而来的,没见到在其它地方出现过这个漏洞。产生原因大概是这样:phpbb会将用户请求中的参数放到response的refresh头中。如:GET /a.php?url=test.php那么response中就会多出如下一个refresh头:REFRESH:0;URL=http://SERVE

2017-06-11 13:18:14 2607

原创 json劫持攻击

攻击过程有点类似于csrf,只不过csrf只管发送http请求,但是json-hijack的目的是获取敏感数据。一些web应用会把一些敏感数据以json的形式返回到前端,如果仅仅通过cookie来判断请求是否合法,那么就可以利用类似csrf的手段,像目标服务器发送请求,以获得敏感数据。攻击者可以在虚假页面中,加入如下标签:加入www.bank.com/userinf

2017-06-11 13:16:45 6252

原创 基于locust的性能测试优化

近期在测试几个web服务的性能时,发现了一个问题,就是当一个页面需要加载多个接口的数据时,浏览器所发出的请求是并发的。虽然我们测试时,在文件中定义了单个用户索要发出的所有请求,但是进行性能测试时,对于一个测试用户来说,所有的请求都是顺序发出的。由此引出了如下两个问题:

2017-06-02 16:43:24 3688 2

原创 office宏

最近在汇总别人写的word文档时,遇到一个问题, 一个文档中有n多格式相同的表格,里面的内容已经被别人填写好了.表格的第行,第二列内容需要设置为表格的编号,因为这个文档是之前大家汇总起来的,所以这个编号顺序是乱的,而且有很多重复.每个表格的格式和内容大致如下:我要做的就是把文档中所有的表格,编号后面的数字重新梳理一下,确保这个数字是一次按顺序递增的。考虑了文本替换,表格公式,又

2017-03-16 11:04:17 1531

原创 两种时间格式2017-03-15T16:52:38.186+0800和2017-03-15T16:52:38.186Z的区别

一开始误以为2017-03-15T16:52:38.186+0800和2017-03-15T16:52:38.186Z其实是相同的时间,最后拿着2017-03-15T16:52:38.186Z格式去es中查数据时,结果总是不对。后来网上搜了一下,2017-03-15T08:52:38.186Z = 2017-03-15T16:52:38.186+800,记录一下这个无知的错误。。。

2017-03-16 10:49:46 2266

原创 如何在requests session中手动设置cookie

最近工作中在使用python requests库时遇到一个问题,就是如何在session中设置对所有请求都生效的cookie?requests中的session对象一大特性就是它会自动为你管理cookie,当你登录一个页面时,它可以自动识别response中的set cookie头,然后为下面的请求一直维持这个cookie。不过我在使用的过程中,因为目标网站登录有验证码,所以打算每次运行时手动登录

2016-09-25 18:31:24 29853 3

原创 tsung 学习记录

近期测试产品性能的时候用到好几次tsung这个工具,整理了一下tsung xml文件的基本结构。 Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36

2016-07-02 20:09:43 423

原创 python下如何使用requests发送multi-part类型的数据

最近测试性能的时候需要在一个系统上增加大量账号进行测试,手动抓包看了一下用的是multi-part类型的表单。为了省事直接把http请求的body部分copy了出来,然后把帐号名替换成我要的变量,再批量执行request.post发请求都发出去,达到添加大量账户的目的。之所以当时直接copy了body,是因为当时在网上搜了一下,request可以通过request.post(url

2016-06-23 11:43:00 3179

原创 shell中后台运行函数

在shell中定义好的函数,运行的时候可以直接在脚本里面通过func &方式后台运行。一开始我很好奇为什么shell脚本里面定义好的函数可以这么用,通常我们在脚本中都是以后台方式运行其它的脚本或者命令。于是做了如下一个实验:new(){ echo "func bkground pid by \$\$ is $$" while [ 1 == 1 ]

2016-02-22 12:15:54 9714

原创 php+mongo下的注入学习

今天看了freebuf上的一篇介绍php环境下mongo注入的文章:www.freebuf.com/articles/database/95314.html写的非常不错,于是自己也学习了一下,写个文章作为自己的总结。由于mongo查询语法的特殊性,导致传统的sql注入攻击并不适用于mongodb的注入。但是在php环境下,因为php内的数组要求不是很严格,所以有可能导致利用ph

2016-02-14 15:58:18 704

原创 RLO文件名欺骗

前阵子看一篇apt报告,里面提到了RLO文件名欺骗技术,第一次听说这个词汇,所以在网上搜了一下。大致原理就是,在windows下面,支持一种特殊的unicode字符RLO,一个字符串中如果有这个字符的话,那么在windows下显示时,就会把RLO右侧的字符串逆序显示出来。例:原始字符串:abcd[RLO]efgh在windows下显示为:abcdhgfe攻击者可以利用这个特性,

2016-02-05 17:54:37 5883 1

原创 DNS中的MaxCacheEntryTtlLimit和NegativeCacheTime

为了提升dns查询的速度,同时降低dns服务器的压力,操作系统会把每次dns请求的结果放到缓存中,这样下次再有同样的查询时,首先检查本地缓存。在windows下可以通过修改注册表来调整缓存时间:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Dnscache\ParametersMaxCacheEntryTtlLimit  

2016-01-05 10:56:05 2414

翻译 es _bulk批处理

通常我们在操作es的时候,都是一个一个http命令发送来实现的,如果想一次执行多个操作,可以使用bulk api。_bulk api支持4中常见的操作:index 写入文档create 创建索引delete 删除索引update 更新文档我们提前将需要执行的操作写入到一个文本文件中,每个操作后通过换行结束。其中create和index可以在该行的下面加入一个数据行,作为该操

2015-11-24 17:21:01 2443

原创 es中的scan and scroll搜索

在es上搜索数据时,默认es只会返回10条文档,当我们想获取更多结果,或者只要结果中的一个区间的数据时,可以通过szie和from来指定。GET /_search?size=3&from=20如上的查询语句,会返回排序后的结果中第20到第22条数据。es在收到这样的一个请求之后,每一个分片都会返回一个top22的搜索结果,然后将这些结果汇总排序,再选出top22,最后取第20到第22条数据作为

2015-11-18 14:40:44 4034

原创 limits.conf介绍

limits.conf用于实现对用户资源进行限制,如进程数/文件数等等。文件存放在目录:/etc/security/limits.conf大致的内容如下:# /etc/security/limits.conf##Each line describes a limit for a user in the form:## ##Where:# can

2015-10-23 14:53:40 4018

翻译 ES内部分片处理机制

ES内部分片工作机制

2015-10-19 15:07:26 25827 5

原创 www.oldapps.com各种软件历史版本下载

http://www.oldapps.com/记录一下,做漏洞分析或者应用识别的同事可能会觉得有用。

2015-10-16 10:45:35 1105

原创 FTP 跳转攻击

FTP主动模式中,客户端向服务器发送port命令,指定ip和端口号,服务器收到后,会从80端口发起数据连接。PORT命令格式如下:PORT A,B,C,D,E,F服务器解析后,参数的前四个字段,作为地址A.B.C.D,对应的数据连接的目标端口为E*256+F。 ftp的这个特性,被利用的话,可以导致安全问题。假设A.B.C.D是一个邮件服务器,那么如果E,F的值算出

2015-09-06 19:28:46 8527 2

原创 通过telnet特殊字符进行ftp攻击逃逸

ftp的命令控制是通过telnet协议来实现的,根据不同的服务器,可能只实现了telent协议的一小部分。iis-ftp、wu-ftp服务器中,如果在命令中插入telnet命令字符,这两种服务器在处理ftp领命时,会自动把这些字符识别为telnet命令并过滤掉。在iis-ftp服务器上,我自己验证过的可以识别的命令有以下几种:\xFF\xFF\xF0 ~ \xFF\xFE

2015-09-06 16:15:30 973

原创 旁路劫持攻

旁路劫持攻击简介在client和server之间的网络通信中,如果它们之间交互的流量被攻击者监听到,那么攻击者就可以监听client端发起的请求,然后伪造一个假的response包发送给client端。假如攻击者与受害主机的网络距离(物理跳数)小于真实服务器与受害者的距离,那么这个伪造的response就会比真实服务器发出的响应提前到达,从而使客户端优先处理了这个假的response,而真的r

2015-08-02 13:49:07 5094 4

原创 shell下在while循环中使用ssh命令的问题

最近遇到一个很奇怪的问题,产品的某个功能可以根据日志文件的异常纪录,去处理这些异常,不过在测试的时候发现每次都只能处理一条异常,然后整个循环就退出了。开始以为是某个函数里面调用了exit命令,看了一整遍代码也没有发现使用exit的函数。最后只好在while循环里面一点一点的注释,然后观察运行结果。最后竟然定位到是在一个函数里面,调用了另外一个shell文件,而且这个shell文件里的某个函数只

2015-07-29 22:54:38 5832

原创 PYTHON编码转换

十六进制串转化为对应的字符假设一个字符串里面是每个字符的ascii码:a = '2f2b2e'可以使用binascii.a2b_hex()函数将其转化为对应的字符串:binascii.a2b_hex('2b2f2e')得到'+/.'url编码转换经常处理http请求的时候,有可能会用到这几个函数。urllib.quote()将字符串中的一些特殊字符转化成对应

2012-12-28 14:11:37 331

原创 smtp暴力猜测脚本

工作中要用到smtp暴力猜测工具,找了很多资源都不支持smtp协议,好不容易找到一个也是python写的,但是因为太强大了不会用。所以只好自己写了一个。平时不怎么写代码,很多地方处理的都不是很好,就作为一个参考吧。import socketimport base64import threadingimport timedef login(user,passwd,host):

2012-03-19 09:27:36 806

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除