自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 文件上传之文件名可控绕过上传

2.与中间的漏洞配合使用 例如 iis6.0 上传 1.php;1.jpg apache 上传1.php.a 也能解析文件 a.asp;1.jpg 解析成 asp。1.上传文件,文件吗采用%00 截断,抓包解码例如 moon.php%00.php 截断后moon.php 或者使用/.前提:%00 截断 需要 gpc 关闭 抓包 解码 提交即可 截断文件名php 版本小于5.3.4。将文件名 1.php;.jpg 改成 iis6.0 可解析文件。1,文件上传时,文件名的可被客户端修改控制,会导致漏洞产生。

2023-11-08 22:18:31 176 1

原创 文件上传之文件上传条件竞争攻击

由此我们可以使用条件竞争的方式绕过,我们在上传这个文件的时候,不断的向这个服务器进行发包,使用另外一个浏览器访问上传文件的路径,不断的去调用这个文件,占用这个文件的资源,阻止他下面的代码操作,那么他后面验证和过滤等一系列操作就不会执行,那么你上传的文件是什么格式的就是什么格式的。在这步操作中可以看出来,在第一步的时候没有对文件进行验证,就直接将文件进行移动到服务器中了,那么说明,在没有验证之前,不管你上传的什么文件都上传到服务器了。既然这样我们就先上传一个s.php的文件,然后进行抓包。

2023-11-08 19:48:22 153 1

原创 文件上传之图片二次渲染上传

1,有些图片上传,会对上传的图片进行二次渲染后在保存,体积可能会更小,图片会模糊一些,但是符合网站的需求。例如新闻图片封面等可能需要二次渲染,因为原图片占用的体积更大。访问的人数太多时候会占用,很大带宽。二次渲染后的图片内容会减少,如果里面包含后门代码,可能会被省略。导致上传的图片马,恶意代码被清除。只允许上传 JPG PNG gif 在源码中使用 imagecreatefromgif 函数对图片进行二次生成。生成的图片保存在,upload目录下。接着对比两者之间有什么相同点。将修改好的图片再次上传。

2023-11-08 18:53:45 438 1

原创 文件上传之文件头检测绕过上传

1,有的文件上传,上传时候会检测头文件,不同的文件,头文件也不尽相同。常见的文件上传图片头检测 它检测图片是两个字节的长度,如果不是图片的格式,会禁止上传。这个是存在文件头检测的上传,getReailFileType 是检测jpg、png、gif 的文件头 如果上传的文件符合数字即可通过检测。1.制作图片一句话,使用 copy 1.gif/b+s.php shell.php 将php 文件附加再jpg图片上,直接上传即可。并且将后缀名改成gif。

2023-11-08 16:08:14 500 1

原创 文件上传之传参数目录可控攻击

文件名可控,通过抓包修改可控的参数,与不同的中间件的缺陷配合使用。使用%00 截断文件名 再 post 环境下%00 要经过 decode 但是受gpc 限制使用 burpsutie POST %00 截断文件名。上面是 GET 请求的,可以直接在 url 输入%00 即可截断,但是在post 下直接注入%00 是不行的,需要把%00 解码变成空白符,截断才有效。1.上传文件,文件吗采用%00 截断,抓包解码例如 moon.php%00.php 截断后 moon.php 或者使用/.

2023-11-08 15:22:59 89 1

原创 文件上传之黑名单绕过

上传的文件后缀名在列表内禁止上传。6,. 利用 windows 环境的叠加特征绕过上传:在 windwos 中如果上传文件名 moonsec.php:.jpg 的时候,会在目录下生产空白的文件名 moonsec.php 再利用 php 和 windows 环境的叠加属性, 以下符号在正则匹配时相等 双引号" 等于 点号. 大于符号> 等于 问号?7, 在上传模块,有的代码会把黑名单的后缀名替换成空,例如a.php 会把php 替换成空,但是可以使用双写绕过例如 asaspp,pphphp,即可绕过上传。

2023-11-08 14:30:33 562 1

原创 文件上传之绕过 contnet-type 检测上传

1,有些上传模块,会对 http 的类型头进行检测,如果是图片类型,允许上传文件到服务器,否则返回上传失败。因为服务端是通过content-type 判断类型,content-type 在客户端可被修改。则此文件上传也有可能被绕过的风险。2,首先进行 submit 提交判断,再检测文件类型如果是 image/jpeg 或者image/png即允许上传。上传文件,脚本文件,抓包把 content-type 修改成 image/jpeg。

2023-11-08 11:08:20 96 1

原创 文件上传之绕过前端 js 检测上传

1,在文件上传时,用户选择文件时,或者提交时,有些网站会对前端文件名进行验证,一般检测后缀名,是否为上传的格式。此时数据包并没有提交到服务器,只是在客户端通过js 文件进行校验,验证不通过则不会提交到服务器进行处理。3,把恶意文件改成 js 允许上传的文件后缀,如 jpg、gif、png 等,再通过抓包工具抓取 post 的数据包,把后缀名改成可执行的脚本后缀如php 、asp、jsp、net 等。2,按 F12 使用网页审计元素,把校验的上传文件后缀名文件删除,即可上传。

2023-11-08 10:55:15 188 1

原创 文件上传之任意文件上传

上传的文件可以改成其他恶意脚本或者后门,如中国菜刀一句话,后门大马。即可获得 webshell。

2023-10-30 19:24:16 48 1

原创 渗透测试之信息收集

渗透测试的前期主要工作,是非常重要的环节,收集足够多的信息才能方便接下来的测试,信息收集主要是收集网站的域名信息、子域名信息、目标网站信息、目标网站真实IP、敏感/目录文件、开放端口和中间件信息等等。当确定了目标大概的ip段后,可以先对ip的开放端口进行探测,一些特定服务可能开起在默认端口上,探测开放端口有利于快速收集目标资产,找到目标网站的其他功能站点。如果目标网站使用了CDN,使用了cdn真实的ip会被隐藏,如果要查找真实的服务器就必须获取真实的ip,根据这个ip继续查询旁站。

2023-10-13 21:35:27 85

原创 SQL注入之宽字节注入

原理宽字节注入,在 SQL 进行防注入的时候,一般会开启 gpc,过滤特殊字符。一般情况下开启 gpc 是可以防御很多字符串型的注入,但是如果数据库编码不对,也可以导致 SQL 防注入绕过,达到注入的目的。如果数据库设置宽字节字符集 gbk 会导致宽字节注入,从而逃逸 gpc前提条件简单理解:数据库编码与 PHP 编码设置为不同的两个编码那么就有可能产生宽字节注入。

2023-10-08 11:17:20 89 1

原创 SQL注入之二次注入

二次注入的原理,在第一次进行数据库插入数据的时候,仅仅只是使用了 addslashes 或者是借助get_magic_quotes_gpc 对其中的特殊字符进行了转义,但是 addslashes 有一个特点就是虽然参数在过滤后会添加 “\” 进行转义,但是“\”并不会插入到数据库中,在写入数据库的时候还是保留了原来的数据。在将数据存入到了数据库中之后,开发者就认为数据是可信的。在下一次进行需要进行查询的时候,直接从数据库中取出了脏数据,没有进行下一步的检验和处理,这样就会造成 SQL 的二次注入。

2023-10-08 10:39:36 204 1

原创 SQL注入之堆叠注入

隔开,而堆叠查询注入攻击就是利用此特点,在第二条语句中构造要执行攻击的语句。在 mysql 里 mysqli_multi_query 和 mysql_multi_query 这两个函数执行一个或多个针对数据库的查询。select database() 堆叠注入的危害是很大的 可以任意使用增删改查的语句,例如删除数据库 修改数据库,添加数据库用户。输入1'and 1=1--+ 和 1'and 1=2--+ 判断是否存在注入点。输入1000就可以访问刚刚添加的账号。

2023-09-26 20:10:48 49

原创 SQL注入之时间注入

mysql 延时注入用到的函数 sleep() 、if()、substring() select if(2>1,sleep(10),0) 2>1 这个部分就是你注入要构造的 SQL 语句。

2023-09-25 20:00:34 716 1

原创 SQL注入之报错注入

除了 updatexml 函数支持报错注入外,mysql 还有很多函数支持报错。输入1'and (updatexml(1,concat(0x7e,(select user()),0x7e),1))--+

2023-09-24 19:28:47 83 1

原创 SQL注入之布尔式(boolean)注入

输入1' and if(substring(database(),1,1)='d',1,0)--+输入1'and if(length(database())=4,1,0) #其他的表名和列都用同样的方法 ,其他信息也是一样。输入 vince'and'1'='1。再输入 vince'and'1'='2。2,判断是数字式还是字符型。3,判断数据库有多少个字段。

2023-09-22 22:13:26 357 1

原创 MySQL之union联合注入

我们通过-1' union select 1,(select XXX_NAME from information_schema.TABLES where TABLE_SCHEMA=database() limit 1)#当输入的参 x 为整型,Sql 语句类型大致如下:select * from <表名> where id = 'x'这样就要用X'and'1'='1和X'and'1'='2来判断了。1,判断是否存在sql注入:通常是id=XXX’输入,看页面是否会报错,如果有报错,则存在sql漏洞。

2023-09-18 12:48:40 154 1

空空如也

空空如也

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

TA关注的人

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