首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

CTF 解题记录-文件上传基础

CTF 解题记录-文件上传基础 第一题:无限制上传 这一题对上传的文件没有任何限制,我们直接上传一个一句话木马的php文件上去,直接蚁剑链接找flagok了。...图片 图片 第二题:JS前端验证 对与前端认证,有两种解决办法绕过,第一个是在浏览器中禁用js渲染,第二个是先把文件后缀改成符合上传的后缀,在通过burp抓包把后缀重新改回.php格式再重新发送...第三题:.htaccess文件 .htaccess文件:htaccess是一个纯文本文件,里面有apache相关配置的指令,他的作用主要有:URL重写、自定义错误页面、MIME类型配置以及访问权限控制等...%00截断是用在路径上的!...road=var/www/html/upload/a.php%00 ,这样就算改了我们上传的文件名,被添加到%00后面也会被截断,文件名自然变成了a.php,然后又可以快乐的链接了。

1.3K10

JavaWeb – GET 请求中 URL 的最大长度限制(附:解决方案)

浏览器 ---- 1、IE IE浏览器(Microsoft Internet Explorer) 对URL长度限制是2083(2K+53),超过这个限制,则自动截断(若是form提交则提交按钮不起作用)...多长呢?长到预览页面load啊load啊就是load不出来。查了查,这是因为浏览器或者服务器对url有长度限制(很多人包括我自己误解为是HTTP get方法对参数的限制,其实不是)。...(这句话也是百度来的,未经证实)这么算算,对于IE浏览器来说,标题和正文加起来最多能输入231个中文,超过了完蛋。...那么通过get方式传递参数预览这样的解决办法变得毫无用处,因为资讯一般来说至少是三五百字的,必须寻找替代方案。...简单说,如果是IE浏览器,那么我们引入一个js插件,这个插件用cookie重写了sessionStorage的几个方法(setItem、getItem等),代码一看便知: 插件名:sessionStorage.js

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

    超详细文件上传漏洞总结分析

    3.1 删除js绕过: 直接删除代码中onsubmit事件中关于文件上传时验证上传文件的相关代码即可: 或者可以不加载所有js,还可以将html源码copy一份到本地,然后对相应代码进行修改,本地提交即可...shell.php空格 shell.php:1.jpg shell. php::$DATA shell.php:1.jpg 在windows中,后缀名后面的点和空格都会被删除掉。...但是我们在URL中不能直接使用空,这样会造成无法识别;我们通过查看ASCII对照表,发现ASCII对照表第一个空字符,它对应的16进制是00,这里我们就可以用16进制的00来代替空字符,让它截断后面的内容...使用burpsuite进行抓包,因为这里是通过URL进行传递的文件上传后存储路径,所以需要对16进制的00进行URL编码,编码的结果就是%00,通过这种方式,就可以%00截断后面的内容,让拼接的文件名不再进行生效...IIS6.0解析漏洞: IIS6.0解析漏洞分两种: 1、目录解析: 以xx.asp命名的文件夹里的文件都将会被当成ASP文件执行。

    11.9K75

    29. 传输层(1) —— UDP协议

    ”、“面向数据报”的两大特点,有需要的小伙伴可以参考 UDP协议原理 比如说现在要发消息,那么QQ这个进程就会构造出来一个应用层数据报 下面需要使用Socket API 进行send的时候,交给了传输层...报头中的序号“1,2,3,4”都分别占有2bit,其解释如下: 1: 源端口(是由操作系统自动分配的) 2: 目的端口(服务器哦提前准备好的) 3: UDP长度(表示一个UDP的协议报头有多长...) 【由于只占有2bit,因此UDP数据报最大长度就是64k,一旦超出了这个长度,超出的部分就会被截断,就会发送一个残缺的数据,这种情况的解决办法有两个:一个就是在应用层拆分数据报,也就是使用多个UDP...传输;一个就是直接换成TCP传输;一般会选择后者来解决问题】 校验和:(用于检查数据传输的过程有没有出错) 【当校验和不符合预期的时候,一定出错了】 【进一步解释:例如现在需要下载一个大文件...其特点如下:】 md5解释: 1.无论输入的字符串有多长,计算的md5是定长的 2.通过源字符串计算md5很容易,但是逆向计算很难 3.源字符串只要有一点变动,md5的变动就会很大

    52720

    文件上传

    网页上传 -> 目标服务器的缓存目录 -> 移动到代码规定的目录 -> 重命名(开发) 移动上传文件函数: move_uploaded_file() 1.前端验证绕过: 可以通过burp抓包,删除js...: url编码实际上本质是十六进制,这里是get传参,所以直接在url栏中写%00,00在计算机中相当于结束标识、计算机识别到十六进制00的时候会自动停止。...12.00截断: get会对网站url传参进行16进制解码,而post不会,所以在传参之后,直接用burp修改16进制 13.图片马: 对图片的内容进行检测, 并不是单单检测文件后缀名 图片马就是将一句话木马和图片合并在一起...相当于将文件重命名的时候,重命名为alva.php 这里经过测试,不用删除重命名之后的时间文件名也可以生效 靶场12-00截断绕过 这里也是00截断,其实跟靶场11的一样,get会去对url...,这时候用普通的图片马就会被直接处理掉,这里可以将一句话木马写在gif图片的头部。

    13.3K40

    php实现页面跳转的方式_html跳转代码

    3.header后的PHP代码还会被执行。例如,将浏览器重定向到冠威博客 代码如下 复制代码 < ?...php //重定向浏览器 header(“Location: http://www.jquerycn.cn”); //确保重定向后,后续代码不会被执行 exit; ?...若设置content=”秒数;url=网址”,则定义了经过多长时间后页面跳转到指定的网址。例如,使用meta标签实现疫苗后页面自动跳转到冠威博客。...若设置content=”秒数;url=网址”,则定义了经过多长时间后页面跳转到指定的网址。例如,使用meta标签实现疫苗后页面自动跳转到冠威博客。...若设置content=”秒数;url=网址”,则定义了经过多长时间后页面跳转到指定的网址。例如,使用meta标签实现疫苗后页面自动跳转到冠威博客。

    4.1K40

    蓝队面试经验详细总结

    :1.php[空格]5 点绕过,windows 不允许出现点结尾的文件名,会自动去掉文件名后面的点, linux 允许出现点结尾的文件6 流文件绕过,windows 中,::$DATA 符号后面的内容会被当成字节流数据...、&& 、 | 、 ||2、原理:在操作系统中, & 、&& 、 | 、 || 都可以作为命令连接符使用,用户通过浏览器提交执行命令,由于服务器端没有针对执行函数做过滤,导致在没有指定绝对路径的情况下执行命令...比如从指定URL地址获取网页文本内容,加载指定地址的图片,下载等等。...多后缀名解析漏洞(从后往前解析,一直解析到可识别的后缀)、罕见 b 后缀名解析漏洞、.htaccess解析漏洞命令执行漏洞:CVE-2021-42013IIS a 文件名解析漏洞,从前往后解析,遇到分号截断...,忽略分号后面的内容例如:1.asp;.jpg b 罕见后缀名,例如:.asa、.cer、.cdx c IIS 5.X/6.0的文件夹解析漏洞,例如:将文件夹以1.asp命名,该文件夹中的所有文件都会被当做

    18511

    Mybb 18.20 From Stored XSS to RCE 分析

    ]test.com[/url] 后台会首先处理[video],然后内容变成了 [url]test.com[/url] 然后会处理[url]...url]&1=1' (length=41) 然后在1420行,各个参数会被做相应的处理,由于我们必须保留=号以及/ 号,所以这里我们选择把内容放在fragment中。...如果我们在上传的xml文件中构造name为tttttttttttttttttttttttttt.php.css时,name在存入数据库时会被截断,并只保留前30位,也就是tttttttttttttttttttttttttt.php...这里的iframe标签的链接被encode_url重新处理,一旦被转义,那么[url]就不会被继续解析,则不会存在问题。 4.2 后台任意文件创建 ?...在判断文件名后缀之前,加入了字符数的截断,这样一来无法通过数据库字符截断来构造特殊的name了。 5.

    86520

    Mybb 18.20 From Stored XSS to RCE 分析

    这样一来攻击者就很难构造储存型xss了,因为除了这些标签以外,其他的标签都不会被解析(所有的左右尖括号以及双引号都会被转义)。...]test.com[/url] 后台会首先处理[video],然后内容变成了 [url]test.com[/url] 然后会处理[url]...如果我们在上传的xml文件中构造name为tttttttttttttttttttttttttt.php.css时,name在存入数据库时会被截断,并只保留前30位,也就是tttttttttttttttttttttttttt.php...重新处理,一旦被转义,那么[url]就不会被继续解析,则不会存在问题。...后台任意文件创建 在判断文件名后缀之前,加入了字符数的截断,这样一来无法通过数据库字符截断来构造特殊的name了。

    62910

    Web 数据传输的方式

    因为 GET 请求方法会被缓存起来。对同一请求会有性能的提升。只有当 URL 请求长度接近或超过 2048 个字节时才需要换成 POST。部分浏览器会 URL 超长截断。...然后用JS 处理这个字符串,并根据 mime-type 类型和传入其他的头信息,并解析出来。...他和 HTTP2 的静态推送有些类似,不同的是 HTTP2 静态推送的按照资源级别主动推送,无需 js 解析;而 Multipart XHR 将文件打包成一个,在浏览器端通过 JS 方式解析。...大量数据使用 POST ,超长 URL 会被截断。...信标方式(Beacons) 这种技术和动态脚本注入非常类似,使用 JS 创建 Image 对象,把 src 属性设置为上报的 URL ,这个其中包含了要通过 GET 传回的键值对数据。

    1.1K00

    Mybb 18.20 From Stored XSS to RCE 分析

    这样一来攻击者就很难构造储存型xss了,因为除了这些标签以外,其他的标签都不会被解析(所有的左右尖括号以及双引号都会被转义)。...]test.com[/url] 后台会首先处理[video],然后内容变成了 [url]test.com[/url] 然后会处理[url]...如果我们在上传的xml文件中构造name为tttttttttttttttttttttttttt.php.css时,name在存入数据库时会被截断,并只保留前30位,也就是tttttttttttttttttttttttttt.php...重新处理,一旦被转义,那么[url]就不会被继续解析,则不会存在问题。...4.2 后台任意文件创建 15.jpg 在判断文件名后缀之前,加入了字符数的截断,这样一来无法通过数据库字符截断来构造特殊的name了。 5.

    74840

    如何让爬虫一天抓取100万张网页

    因为一张html页面里和大都是公共的头尾信息和js/css代码,对你以后做正文内容抽取不会影响(也可以以后做内容抽取时把头尾信息补回去就好)。...所以这样直接用set()保存URL是不建议的,除非你的内存有十几个G。 一个取巧的办法是截断URL。...还需要想办法压缩URL的内存占用,可以使用BloomFilter算法,是一个很经典的算法,非常适用海量数据的排重过滤,占用极少的内存,查询效率也非常的高。...1.调试开多少个线程,多长时间拨号切换IP一次最优。 每个网站对短时间内访问次数的屏蔽策略不一样,这需要实际测试,找出抓取效率最大化的时间点。...可以这样做,但是我选了另一个度量单位,就是每总抓取120次重新拨号。为什么这样选呢?

    1.6K20

    JavaScript基础(3)

    JavaScript函数声明方式 * 函数声明方式声明的函数会被解析器通过函数声明提升的过程即function declaration hoisting置于原代码数的顶部,所以即使在函数前调用该函数也可以正常使用...* 函数对象方法可以直观地理解“函数是对象,函数名是指针”这个概念,但是它会造成解析器两次解析,一次是普通的ECMAScript代码,一次是解析传入Function构造函数里的字符串,会影响js...对双字节、单字节非法字符(URL规定参数值中再次出现保留字为非法,比如?...主动释放对象,被释放后找不回了。undefined:初始化未赋值的变量。...* * 通过length扩容,缩容(截断,被截断的元素还占用存储空间,但是找不回了,也不能被释放回收,还属于原数组对象当中,垃圾回收不能只回收数组的部分元素,需跟整个原数组一起回收)。

    83450
    领券