最新版本:ygbook仿牛牛书城自动采集小说网站源码 自适应电脑+手机端
优采云 发布时间: 2022-10-29 03:24最新版本:ygbook仿牛牛书城自动采集小说网站源码 自适应电脑+手机端
松开你的眼睛,戴上耳机,听~!
ygbook仿牛书城自动采集新颖网站源代码自适应电脑+手机深度优化
优点
1.网站源代码深度SEO优化(快速网页收录)。
2.自适应(自适应手机/电脑)。
3.网站背景采集小说(无需使用采集器,背景具有自动采集+手动采集新颖功能)。
特征
1. 百度站长后台给予标志提交权限
2.自动采集+自动推送+手机电脑适配
3.深受搜索引擎喜爱,30天建网站收录2w多页
最新版本:Web渗透之文件上传漏洞总结
概述
文件上传漏洞是指用户上传可执行脚本文件,并通过该脚本文件获得执行服务器端命令的能力。一个常见的场景是Web服务器允许用户上传图片或保存普通文本文件,用户绕过上传机制上传恶意代码并执行控制服务器。显然,这种漏洞是getshell最快最直接的方法之一。需要注意的是,上传文件本身没有问题。问题是文件上传到服务器后服务器如何处理和解释文件。
验证上传文件的常用方法
客户验证
使用javascript验证上传文件的后缀是否合法,可以使用白名单,也可以使用黑名单来判断:当你浏览加载的文件,但没有点击上传按钮时,会弹出一个对话框up,内容是:只允许上传.jpg/.jpeg/.png后缀,此时不发送数据包。
服务器端验证
验证请求头的content-type字段,例如使用PHP检测
if($_FILES['userfile']['type'] != "image/gif"){
....
}
复制
3、自己写正则匹配,判断文件的幻数(文件头)内容是否符合要求。一般来说,属于白名单的检测。常见的文件头(文件头标志)如下
(1).JPEG;.JPE;.JPG, "JPGGraphicFile" (FFD8FFFE00)
(2).gif, "GIF89A" (474946383961)
(3).zip, "ZipCompressed" (504B0304)
(4).doc;.xls;.xlt;.ppt;.apr, "MSCompoundDocumentv1orLotusApproachAPRfile" (D0CF11E0A1B11AE1
4.文件加载检测:一般调用API或函数进行文件加载测试,如图片渲染测试,测试结果正常时允许上传 1.一次性渲染(代码注入) 2.二次渲染
5.后缀名黑名单验证
6.后缀名白名单验证
7. 定制
对应的检查绕过方式1.客户端检查绕过: 2.服务器绕过
POST /upload.php HTTP/1.1
TE: deflate,gzip;q=0.3
Connection: TE, close
Host: localhost
User-Agent: libwww-perl/5.803
Content-Type: multipart/form-data; boundary=xYzZY
Content-Length: 155
--xYzZY
Content-Disposition: form-data; name="userfile"; filename="shell.php"
Content-Type: image/gif (原为 Content-Type: text/plain)
--xYzZY-
复制
可以解析的文件扩展名列表:
jsp jspx jspf
asp asa cer aspx
php php php3 php4 php
执行程序
test.php.jpg
复制
上传服务器解析漏洞结合其他漏洞IS5.x-6.x解析漏洞
使用iis5.x-6.x版本的服务器大多是windows server 2003,网站比较老,开发语句一般是asp;这个解析漏洞只能解析asp文件,不能解析aspx文件。
目录解析 (6.0)
形式: 原理:服务器默认将.asp和.asp目录下的文件解析成asp文件。
文件解析
格式:;.jpg 原理:服务器不解析;后面的内容 默认为数字,因此 xx.asp;.jpg 被解析为 asp 文件。解析文件类型
除了asp,IIS6.0默认的可执行文件还收录这三种:
/test.asa
/test.cer
/test.cdx
复制
apache解析漏洞
漏洞原理
Apache解析文件的规则是从右到左判断和解析。如果后缀名是无法识别的文件解析,则判断向左。比如test.php.qwe.asd“.qwe”和“.asd”是apache无法识别的两个后缀,apache会将wooyun.php.qwe.asd解析成php。
漏洞表格
其余配置问题导致漏洞
如果 Apache 的 conf 中有这样一行配置 AddHandler php5-script .php 那么只要文件名中收录 .php,即使文件名是 test2.php.jpg 也会用 php 执行。如果 Apache 的 conf 中有这样一行配置 AddType application/x-httpd-php.jpg 即使扩展名是 jpg 也可以在 php 中执行。
维修计划
apache配置文件,禁止执行.php.等文件,在配置文件中加入伪静态可以解决这个问题,重写.php.*等文件,打开apache的httpd.conf,找到LoadModule rewritemodule modules/modrewrite。所以去掉#号,重启apache,在网站根目录下创建.htaccess文件
RewriteEngine On
RewriteRule .(php.|php3.) /index.php
RewriteRule .(pHp.|pHp3.) /index.php
RewriteRule .(phP.|phP3.) /index.php
RewriteRule .(Php.|Php3.) /index.php
RewriteRule .(PHp.|PHp3.) /index.php
RewriteRule .(PhP.|PhP3.) /index.php
RewriteRule .(pHP.|pHP3.) /index.php
RewriteRule .(PHP.|PHP3.) /index.php
复制
nginx解析漏洞
漏洞原理
默认情况下,Nginx 支持 CGI 形式的 PHP 解析。通常的做法是在 Nginx 配置文件中通过正则匹配来设置 SCRIPT_FILENAME。访问这个 URL 时,$fastcgi_script_name 会被设置为“phpinfo.jpg/1.php”,然后构造为 SCRIPT_FILENAME 并传递给 PHP CGI,但是为什么 PHP 接受这样的参数并将 phpinfo.jpg 解析为 PHP 文件呢?? 这是关于 fix_pathinfo 选项。如果启用此选项,将触发 PHP 中的以下逻辑:
PHP会认为SCRIPTFILENAME是phpinfo.jpg,而1.php是PATHINFO,所以会解析phpinfo.jpg为PHP文件
漏洞表格
.php
%20\0.php
另一种方法:上传一个名为test.jpg的文件,然后访问test.jpg/.php,会在这个目录下生成一句木马shell.php。
IIS7.5解析漏洞
IIS7.5的漏洞与nginx类似,因为在php配置文件中启用了cgi.fix_pathinfo,这不是nginx或iis7.5本身的漏洞。
操作系统相关上传文件名不符合Windows文件命名规则
test.asp.
test.asp(空格)
test.php:1.jpg
test.php::$DATA
shell.php::$DATA…….
复制
部分版本的Windows系统会自动删除不符合规则的符号后面的内容。
linux下的后缀名是区分大小写的,所以一般检测也会区分大小写,但是有些解析器是不区分大小写的,比如php,上传php是不解析的,可以尝试上传php后缀的文件名。cms,编辑器漏洞常见WAF绕过手势大小上限:WAF设置待验证用户数据大小上限。这时候就可以构造一个大文件的木马了,前面填满垃圾内容文件名:对于早期版本的安全狗,可以多加一个文件名绕过,
或者可以通过将文件名放在非常规位置来绕过它(这里的文件名是指http请求头中上传的文件名)
post/get:如果WAF规则是:只检测特定请求类型的数据包,但服务器在接收时使用request。这时候通过修改请求头的请求方法,可以绕过使用waf本身的缺陷。针对不同的waf产品可以搜索对应的漏洞,绕过NTFS ADS功能:ADS是NTFS磁盘格式的一个功能,用于NTFS交换数据流。上传文件时,如果waf没有正确匹配请求体的文件名,可能会导致绕过文件重命名绕过:如果web程序重命名了文件名中除扩展名之外的部分,那么可以构造更多的点、符号、 etc. 截断结合其他规则:例如0x00 etc. test.php(0x00).jpg test.php.jpg 路径/upload/1.php(0x00),文件名1.jpg,
伪代码演示:
name= getname(httprequest) //假如这时候获取到的文件名是 help.asp.jpg(asp 后面为 0x00)
type =gettype(name) //而在 gettype()函数里处理方式是从后往前扫描扩展名,所以判断为 jpg
if(type == jpg)
SaveFileToPath(UploadPath.name, name) //但在这里却是以 0x00 作为文件名截断
//最后以 help.asp 存入路径里
复制
可以上传.htaccesss,上传当前目录下的.htaccess文件,修改如下:
AddType application/x-http-php .jpg #(上传的jpg 均以php执行)
复制
上传.htaccess后,上传成功后,上传jpg文件,内容为一句话
文件验证建议
以上几点可以防止大部分上传漏洞,但需要与服务器容器结合使用。如果解析漏洞仍然存在,那么就没有绝对的安全性。
参考文章:
%E4%B8%8A%E4%BC%A0%E6%9C%A8%E9%A9%AC%E5%A7%BF%E5%8A%BF%E6%B1%87%E6%80%BB-% E6%AC%A2%E8%BF%8E%E8%A1%A5%E5%85%85/