![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
文件上传
文章平均质量分 67
@hello_kitty@
这个作者很懒,什么都没留下…
展开
-
网络安全 文件上传漏洞-21 upload-labs通过全部关卡
其中有争议之处欢迎各位批评指正,或者有新的想法,欢迎大家评论。望在网安的道路上共同学习,携手并进。原创 2024-06-26 18:53:05 · 214 阅读 · 0 评论 -
网络安全 文件上传漏洞-20 第二十关 Pass-20
理论证明结束,实践继续,对刚刚我们抓取的包进行修改,即修改为 $file[0] = "myupload.php" , $file[2] = "jpg" 的数组。以数组的的第n项作为后缀名,假如数组只有两项,即file = [文件名,"jpg"],则count[$file]=2(因为数组下标从0开始,所以需要减一)然后判断file是不是数组,如果file的值不是数组,使用explode()函数将其拆分为文件名和后缀组成的数组,并将数组的最后一个值作为后缀名。这里我们不对 $filep1]的值作定义。原创 2024-06-26 18:52:44 · 545 阅读 · 0 评论 -
网络安全 文件上传漏洞-19 第十九关 Pass-19
我们发现文件通过$_POST["save_name"]的方式获取并定义保存的文件名,然后对该文件名的后缀进行黑名单验证。点击foward,发现上传成功。此时右键单击复制文件地址,并在浏览器进行访问。此时右键单击复制文件地址,并在浏览器进行访问。删除url链接php后面的多余字符串然后回车,成功获取服务器php信息。修该后缀名jpg为php%00.jpg,然后对%00 进行url编码(post请求需要我们手动编码)修改save_name值中文件名的后缀为php,然后再点击一下(两下也行)空格键。原创 2024-06-24 17:13:59 · 719 阅读 · 0 评论 -
网络安全 文件上传漏洞-18 第十八关 Pass-18
分析代码,我们发现当文件上传成功,会经历文件的移动和重命名操作。此时我们在改名之前运行php代码。打开Payloads 选项卡,然后设置 Payload type为Null payloads。考虑apache对于未知扩展名解析漏洞,只要是.php.*结尾。修改复制info.pnp文件,并将其后缀后面加上 .7z。(*可以代表一切后缀名,这里使用.7z后缀名)都会被Apache服务器解析成php文件。发现成功获取到对方服务器的php信息。接下来流程同第十七关(原创 2024-06-24 17:12:10 · 440 阅读 · 0 评论 -
网络安全 文件上传漏洞-16 第十六关 Pass-16
我们发现我们上传的文件会被服务器使用是imagecreatefromjpeg、imagecreatefrompng、imagecreatefromgif函数进行二次渲染,这时我们创建的木马图片会被修改。打开010 editor,然后打开刚刚下载的渲染后的图片,在图片中插入一句话木马,然后保存上传测试,有时候插入的代码可能会被渲染的时候删除,我们可以在不同的地方多试几次。那么我们可以使用二次渲染绕过,对渲染后的图像植入一句话代码,首先下载图像到本地(上传完成复制文件地址构造url并在浏览器访问。原创 2024-06-23 15:07:12 · 351 阅读 · 0 评论 -
网络安全 文件上传漏洞-17 第十七关 Pass-17
也就是说,不管什么文件都能上传,但不管是否图片,后门都会删除。此时我们可以考虑条件竞争,即没删除之前,如果文件是打开的状态,可能删除失败,这样就能保留原本的文件。然后我们开始构建url访问链接,文件上传的环境如果在本地部署则为locahost/upload/info.php (127.0.0.1/upload/info.php),如果在虚拟机则为 虚拟机ip+/upload/info.php,构建完url地址后使用浏览器持续的访问该链接,即持续点击刷新,直到浏览器返回目标服务器php信息。原创 2024-06-23 15:06:33 · 273 阅读 · 0 评论 -
网络安全 文件上传漏洞-15 第十五关 Pass-15
exif_imagetype()函数读取图像的第一个字节并检查其签名,返回对应图像的常量,如果该函数在读取到的第一个字节里没有找到图像的签名,返回FALSE。因为图像读取图像内容,然后在检查签名,所以我们可以考虑在图片中注入木马,这里仍然使用copy命令注入一句话木马,方式和第十三关相同(利用获得的图像地址构造url并在浏览器访问,从而获得服务器php信息。),然后上传图片马,并复制其地址。原创 2024-06-21 00:12:14 · 329 阅读 · 0 评论 -
网络安全 文件上传漏洞-14 第十四关 Pass-14
getimagesize()在获图像信息的时候,会涉及到图像的读取,此时我们可以利用该漏洞,上传图片马。$ext = image_type_to_extension($info[2]) : 根据指定的图像类型返回对应的后缀名。代码中,首先通过getimagesize函数和image_type_to_extension 获取图像的后缀。striipos()函数返回字符串在另一个字符串中第一次出现的位置。下一关(网络安全 文件上传漏洞-15 第十五关 Pass-15)),使用copy命令,然后上传图片马。原创 2024-06-21 00:09:48 · 372 阅读 · 0 评论 -
网络安全 文件上传漏洞-13 第十三关 Pass-13
因为这一关采用读取文件的方式判断文件类型,我们不能简单的提交php木马文件。mode为打开模式,r表示以只读模式打开,b表示以二进制的方式打开。file_handler为文件指针,是fopen的返回值,len表示读取文件的长度。其中我们用到一张图片和我们创建的一句话木马文件,再命令提示符(按住 win+r 快捷键,然后输入 cmd 并回车即可打开)中执行命令,然后回车。这里 /b 表示以二进制的方式打开图片, /a 表示以ascii码的方式打开文件 + 号表示将两个文件进行合并。原创 2024-06-20 13:09:04 · 1279 阅读 · 0 评论 -
网络安全 文件上传漏洞-12 第十二关 Pass-12
我们找到文件上传路径和上传文件名,此时我们需要对这两个值进行修改,对文件上传路径使用00截断,从而成功提交php木马文件,修改上传文件名为png(jpg、gif都行)格式从而通过后缀名白名单验证。这里需要注意的是 GET 型提交的内容会被自动进行URL解码,在POST请求中,%00不会被自动解码,所以我们还需要对输入的%00进行url解码操作,首先选中 %00 ,右键单击,选中Convert selection--URL---URL-decode 进行url解码。(发现%00消失是正常现象,莫慌~)原创 2024-06-17 12:03:19 · 355 阅读 · 0 评论 -
网络安全 文件上传漏洞-10 第十关 Pass-10
分析代码,我们可以看到题目对我们上传文件的文件名 $_FILES['upload_file']['name'] 使用trim()去空格、str_ireplace去除黑名单中的字符串。如,deny中包含了php,这意味着当我们提交文件的文件名中包括php字符,php将会被删除。打开burpsuite监听,然后上传文件,在获取的请求头中将文件后缀名改为pphphp,然后forwad。可以看到,当php被替换后,文件中还剩下一个php后缀名。123.php ======> 123 ,然后上传。原创 2024-06-20 12:57:55 · 816 阅读 · 0 评论 -
网络安全 文件上传漏洞-9 第九关 Pass-09
那么我们可以利用该漏洞进行文件上传,打开burpsuite并进行监听状态,然后上传php木马文件,在获取到的请求中,将文件名后面添加两个不连续的点(点与点之间存在空格),然后点击forward提交。abc.txt........ 的输出结果为 abc.txt。而 abc.txt.. .. 的输出结果为abc.txt..与第四关的代码进行对比(原创 2024-06-19 09:52:02 · 296 阅读 · 0 评论 -
网络安全 文件上传漏洞-8 第八关 Pass-08
:$DATA 是Windows系统中用于存储文件数据的特殊属性,它是一种隐藏的属性,用于存储文件的实际内容。在window的时候如果文件名+"::$DATA"会把::$DATA之后的数据当成文件流处理,不会检测后缀名,并且保留::$DATA之前的文件名。),发现少了str_ireplace 操作,该操作主要是为了去除文件名中的"::$DATA"。在文件名后添加 ::$DATA 字段,并点击forward提交,发现成功上传php文件。与第四关的代码进行对比(原创 2024-06-19 09:42:17 · 121 阅读 · 0 评论 -
网络安全 文件上传漏洞-2 第二关 Pass-02
接着我们发现判断代码,该代码用于判断文件的类型,当上传的文件类型为 image/jpeg 、image/image、image/png、image/gif 其中的一种时开始上传,否则保存文件类型不正确。对此,我们很直观的一个想法是,既然第二关是通过判断$_FILES['upload_file']['type'],而该值从浏览器中获取,那么我们是否可以通过修改请求头的方式提交我们想要提交的文件类型。打开burpsuite进行抓包,点击进入监听状态。分析请求头,可以看到上传文件的基本信息。原创 2024-06-16 12:41:34 · 259 阅读 · 0 评论 -
ubantu_vulhub 解析漏洞(Nginx和Apache)
安装靶机之后输入enjoy账户密码 root1234% 进入主页面对于一个文件,如果ngnix解析到php后缀名,那么该文件将会被当成php进行处理。如一张图片:abc.png/.php-> abc.png 会被当成php格式解析 (在图片访问链接的时候加上/.php后文件将以php格式解析)然后输入ifcofig,命令查看虚拟机ip地址,在本地浏览器输入虚拟机ip:8080即可访问虚拟机tomcat服务:用记事本打开webshell.png 发现木马已经成功植入:此时点击上传该图片木马。原创 2024-06-19 01:12:21 · 1066 阅读 · 0 评论 -
网络安全 文件上传漏洞-7 第七关 Pass-07
在文件名字符串后面加一个点 “ . ” ,然后forward提交。),发现少了deldot函数去除文件名后面的点。与第四关代码进行对比(原创 2024-06-18 10:30:43 · 331 阅读 · 0 评论 -
网络安全 文件上传漏洞-4 第四关 Pass-04
发现黑名单写的很完备,同时字符串的操作很严格。但是我们发现里面没有禁止 .htaccess 类型文件,.htaccess 类型文件是Apache服务器中的一个配置文件,它主要用于相关目录下的网页配置。准备号这两个文件之后,我们便可以进行文件的上传工作了,因为黑名单中不会限制png和.htaccess文件,所以这两个文件都能够成功上传。其中通过 FilesMatch 指令可以指定特定的文件或文件类型,并为这些文件设置访问权限,这里将我们刚刚存的图像的文件名写入。),发现本关的后缀名黑名单中增加很多文件类型,原创 2024-06-17 09:38:34 · 425 阅读 · 0 评论 -
网络安全 文件上传漏洞-5 第五关 Pass-05
,发现后缀黑名单中多了 .htacess文件,表示此时不能使用修改配置的方式执行木马文件。那么我可以想到使用大小写绕过的方式提交我们的php文件,将后缀名改为PHP(Php、pHp、pHP、phP、PHp......都可以),然后点击上传。原创 2024-06-18 00:26:47 · 149 阅读 · 0 评论 -
网络安全 文件上传漏洞-6 第六关 Pass-06
与第四关的代码进行对比(原创 2024-06-18 00:28:04 · 284 阅读 · 0 评论 -
网络安全 文件上传漏洞-11 第十一关 Pass-11
这时,我们使用00截断的方式进行文件上传,00 截断是操作系统层的漏洞,由于操作系统是C语言或汇编语言编写的,这两种语言在定义字符串时,都是以\0(即0x00)作为字符串的结尾。操作系统在识别字符串时,当读取到\0字符时,就认为读取到了一个字符串的结束符号。因此,我们可以通过修改数据包,插入\0字符的方式,达到字符串截断的目的。对代码进行分析,在服务器获取到文件名时,首先使用substr函数和strrpos函数获取文件的后缀名。在请求头中,发现了savepath的值默认为../upload。原创 2024-06-17 11:54:54 · 280 阅读 · 0 评论 -
网络安全 文件上传漏洞-3 第三关 Pass-03
除了.php类型文件之外,apache 服务器还能够使用php解析 .phtml类型文件和 .php3类型文件。总体来说对上传的文件名进行了 两端去除空格、删除文件名末尾的所有点。然后获取后缀名,对后缀名进行小写化、删除"::$_DATA:和" 和两端去空格的操作。分析源码,我们发现代码中多了一些对文件名的处理,其中 $_FILES['upload_file']['name']为上传文件的文件名(发现上传成功,右键单击复制文件地址。原创 2024-06-17 00:19:39 · 276 阅读 · 0 评论 -
网络安全 文件上传漏洞-1 第一关 Pass-01
在获得后缀名,我们使用Indexof函数进行检索其是否属于允许上传的文件类型。如果不在,则函数返回-1,然后报错。那么我们想到,如果令下面的if语句恒不成立,那么就不会执行后面的报错代码了。我们查看代码,发现两段代码。"作为action的值,保存并打开html进行测试。该代码的主要目的是查看目标服务器的php的信息。将if判断改为 1=-1,恒不成立。点击文件上传发现没有反应。原创 2024-06-16 11:33:42 · 777 阅读 · 0 评论 -
网络安全 文件上传漏洞-0 实验环境部署安装
为大家介绍一个文件上传漏洞的本地实验工具upload-labs,该环境中包含了20个关卡,每一个关卡都要求在有限制的条件下上传文件。可以看到Apach服务打开,mysql服务未打开(文件上传漏洞没有用到mysql服务)此时在本地浏览器中输入 127.0.0.1 ,即可进入实验环境。然后双击phpstudy.exe,运行phpstudy。此时我们就可以使用该环境进行文件上传漏洞的学习啦!然后在本地浏览器中输入虚拟机ip,发现也可以进入关卡。当我们将实验环境部署到虚拟机中,首先查看虚拟机ip。原创 2024-06-16 10:17:13 · 544 阅读 · 0 评论