信
51rgb
网页自动跳转页面的代码在很多时候都非常的有用,下面的是两个简单的例子。仅供参考。
方案一,用<meta>里直接写刷新语句:
<html>
<head>
<meta http-equiv="Content-Language" content="zh-CN">
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312">
<meta http-equiv="refresh" content="5;url=http://www.51rgb.com">
<title>html网页自动跳转代码--西农大网站</title>
</head>
<body>
测试:html网页自动跳转代码<br/>
你可以在这里写下你想的一切东西!<br />
如:西北农林科技大学是一所985、211院校。<br />
</body></html>
方案二,用javascript脚本来跳转
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>正在进入西农大网站</title>
</head>
<body>
<form name=loading>
<p align=center> <font color="#0066ff" size="2">正在进入,请稍等</font><font color="#0066ff" size="2" face="Arial">...</font>
<input type=text name=chart size=46 style="font-family:Arial; font-weight:bolder; color:#0066ff; background-color:#fef4d9; padding:0px; border-style:none;">
<inputtype=text name=percent size=47 style="color:#0066ff; text-align:center; border-width:medium; border-style:none;">
<script>
var bar=0
var line="||"
var amount="||"
count
function count{
bar=bar+2
amount =amount + line
document.loading.chart.value=amount
document.loading.percent.value=bar+"%"
if (bar<99)
{setTimeout("count",100);}
else
{window.location =http://www.51rgb.com;}
}</script>
</p>
</form><p align="center">
测试:html网页自动跳转代码<br/>
你可以在这里写下你想的一切东西!<br />
如:西北农林科技大学是一所985、211院校。<br /><br />
如果您的浏览器不支持跳转,<astyle="text-decoration: none" href="http://www.mycodes.net
"><font color="#FF0000">请点这里</font></a>.</p>
</body>
</html>
↓↓↓
家对URL任意跳转都肯定了解,也知道他的危害,这里我就不细说了,过~
大家遇到的肯定都是很多基于这样的跳转格式
http://www.xxx.xxx/xxx?xxx=http://www.xxx.xxx/xxxxx
基本的思路大家就是直接替换后面的URL来检测是否存在任意URL跳转,如果不存在,就直接返回到它自己的域名,如果存在,就跳转到你指定的URL,
这里我讲述我所知道的所有小点。
0x01 利用问号绕过限制
利用问号,这是一个特性,利用问号可以成功绕过URL限制
比如:http://www.aaa.com/acb?Url=http://login.aaa.com 这是一个跳转链接,跳转到它的二级域名下,那么这个问号放哪里可以绕过呢?其实就是放到它自身的域名前面也就是你添加的想要跳转的域名的后面,如:http://www.aaa.com/acb?Url=http://test.com?login.aaa.com 那么,它其实是会跳转到这个test.com域名下,这个域名是我想要跳转的任意域名,而后面的它自身域名一定要带上,不带上就无法辅助用问号?这个特性来跳转到指定域名了,而跳转后,问号和问号后面的内容会变为这样:http://www.test.com/?login.aaa.com
0x02 利用反斜杠和正斜杠绕过限制
这个是我自己研究出来的,不知道是否网上有人说过。
比如:http://www.aaa.com/acb?Url=http://login.aaa.com/ 同样是在它本身域名前加上正斜杠,然后正斜杠前面跟上你想跳转的域名地址。
如:http://www.aaa.com/acb?Url=http://test.com/login.aaa.com
反斜杠有三种思路
两个反斜杠绕过方法
比如:http://www.aaa.com/acb?Url=http://login.aaa.com/ 同样是在它本身域名前加上两个反斜杠,然后两个反斜杠前面跟上你想跳转的域名地址。
如:http://www.aaa.com/acb?Url=http://test.com\login.aaa.com
一个反斜杠绕过方法
如:http://www.aaa.com/acb?Url=http://test.comlogin.aaa.com
另一种思路,一个反斜杠一个点
利用.这样的格式,也就是一个反斜杠加一个点来跳过限制,
如:http://www.aaa.com/acb?Url=http://test.com.login.aaa.com
0x03 利用@绕过URL限制
如果你用这方法在火狐里进行跳转,会有弹窗提示,在其它游览器则没有。
如:<a href=”http://www.aaa.com/acb?Url=http://login.aaa.com@test.com“”>http://www.aaa.com/acb?Url=http://login.aaa.com@test.com 后面的test.com就是要跳转到的域名,前面的域名都是用来辅助以绕过限制的。
0x04 利用白名单缺陷绕过限制
有的域名白名单限制是不全的,比如如果想利用一个跳转,而这个跳转是通用,在这个公司网站很多子域名等都可以跳转,那么你买个域名也不算贵对吧。
为什么这么说呢,这个问题就是白名单限制不当,比如,当跳转的域名包含这个网站下的所有域名,比如:http://www.aaa.com/acb?Url=http://login.aaa.com
这个login.aaa.com也可以改成aaa.com同样可以跳转对吧,因为白名单里只要有包含这个域名就直接成功跳转。
那么当我在这个域名前面加上如testaaa.com,白名单里会检查是否包含aaa.com这个域名,如果包含,就直接跳转,而并没有检查这个域名的整个信息,然后可以利用这个问题,直接注册一个testaaa.com这个域名就可以利用这个跳转。
0x05 多重验证&跳转绕过限制
现在很多网站都有多重验证,比如你登陆账户后会出现另一个验证页面,输入手机验证码进行验证,此时这上面的URL很可能存在任意跳转的问题。
多重跳转的问题导致可绕过URL限制
比如http://www.aaa.com/acb?Url=http: … ttp://login.aaa.com
当然,还有多重的,这个结构的多重跳转你修改最后面的URL就可以达到任意URL跳转,中间的URL就没必要动了。
0x06 点击触发达到绕过URL跳转限制
比如很多登陆页面的地方,其URL是一个跳转的URL
如:http://www.aaa.com/acb?Url=http://test.com
你直接修改了后面为任意URL,但是还是停留在原地,似乎没什么问题,但是,当你输入账号和密码后点击登陆按钮后,就会触发跳转。
当然,这个账户和密码不一定要对的,随便都可以,但得视系统而定吧。
这个我遇到了很多,比如你修改了域名,然后点击登陆,登陆成功后便可触发跳转,这也是一个比较隐蔽的绕过URL限制的跳转。
0x07 利用xip.io绕过
这个我还没有在测试中应用过,其请求是http://www.127.0.0.1.xip.io 这个绕过是在SSRF场景中的绕过,比如SSRF你要读取内网地址,一般都做了限制,可以尝试用这方法进行绕过限制,从而访问到内网。
另外一点,URL跳转涉及的安全问题大家常见的就是钓鱼,那么利用这个思路也可达成一个钓鱼问题,如,http://www.qq.com.220.181.57.217.xip.io
当你访问qq这个域名时,其实这个链接已经被解析到后面这个ip地址上了,那么实际访问的就是后面这个IP地址。
0x08 利用超链接绕过可信站点限制
比如一个URL,它是可以直接跳转的,但是一般测试跳转时大家习惯用www.baidu.com或qq.com这样的可信站点进行测试,但是有些网站是可以跳转这些网站的。
只要是可信站点且常用,基本都可以跳转,那么这就属于正常的业务逻辑了,难度就这样错失一个URL跳转漏洞了?
其实不然,只要你的URL被百度收录过,那么直接搜索你的域名,site:xxx.xxx
因为你在百度里点击你的域名,它会先是一个302跳转,而这个302跳转就是百度下的302跳转,那么这样就可以绕过可信站点的限制,从而达到跳转到指定URL。
当然,百度这个302有点长,你给它进行加密就行。
0x09 POST参数中的URL跳转
当然,这个影响就很小了,比如当你填什么表格或者需要填写什么的,当你上传图片,点击下一步的时候,通常下一步就是预览你填写的信息,最后才是提交。
当你上传了图片后点击下一步抓包,如果过滤不严,你会看到图片的完整地址包含在POST参数里,你就可以直接修改这个地址为任意URL,然后到达下一步。
这时是确定信息也就是预览自己填写的信息的正确还是不正确,由于你刚刚修改了图片地址,这里是没有显示出来的,图像会是一个小XX。
当点击图片右键选择查看图像时,就会触发URL跳转问题,其实这个也可以利用来进行钓鱼,钓后台审核员的信息。
为什么呢,比如审核看到图片无法加载,一般都会点击查看图片,然后跳转,如果安全意识不知就会造成安全影响。
当然,如果POST参数里就只是URL跳转参数,那么你可以给它转成GET方式,然后进行跳转就可以了,只要网站支持这样的GET方式就行。
在Burp Suite里可以一键转换提交方式,右键选择Change request method就可以!
0x10 利用#号绕过
如:http://www.aaa.com/acb?Url=http://test.com#login.aaa.com
小结,想找到任意URL跳转问题,就不要光看表面,一个修改一个回车,不存在就不继续深入了,这将永远无法成长。
我总结了我对于URL跳转绕过限制的一些小点,希望能够帮助到大家!
原文地址:http://blog.xbbai.site/post-150.html
要:在全球软件大会上,华为云工程师深度分析了网站在各类极端重大灾难场景下,如何快速恢复的高可用保障方案和工程化实践。
最近,某CDN服务故障,导致海外大批知名新闻网站无法正常访问或加载,一石激起千层浪。确实,随着越来越多的业务上云,一个网站或者某个业务能否保证持续的在线,非常考验背后的高可用、高可靠方案设计。
在第七届全球软件大会上,华为软件工程师杜志刚,就为广大开发者分享了华为云官网的高可用保障方案,深度分析了网站在各类极端重大灾难场景下,如何快速恢复的方案和工程化实践。
从网站所有者角度来看:网站不可用直接导致的是经济收入方面的影响,特别对于电商类网站,每分每秒都在产生交易,一旦访问中断,经济损失的影响显而易见。除此之外,从客户角度来看,面对网站不可访问,最直观的感受是不靠谱,对网站以及网站背后的企业品牌产生不可挽回的口碑及信任度方面的负面影响。
从近十年的互联网重大故障事件来看,DNS、CDN导致的大范围影响历历在目,其他IT基础设施导致的区域型及全局型故障也影响甚大。
业界广泛使用的网站可用性指标包括网站不可用时间及网站年度可用率,不同类型的网站和应用对可用性的要求也不尽相同。
其中网站不可用时间(故障时间)=故障恢复时间点-故障发生时间点。网站年度可用率(Yearly Uptime Percentage)=(1-网站不可用时间/年度总时间)*100%。
华为云官网作为云基础设施提供商的互联网访问入口,对可用性有着极高的要求,面向最终用户的核心页面要做到7*24小时在线,如果出现重大故障,如云服务区级别,或基础设施导致的单云全局故障,5分钟内告警通知到相关责任人,15分钟内完成故障切换。
下面结合图例分析一下网站页面访问的整体流程及关键故障点:
在①处,DNS故障会通常会导致网站整体不可访问,到了②是CDN故障会让部分地理区域用户不可访问,③是单云全局故障会导致网站整体不可访问,④是云服务区级别故障会导致分流到该区域的用户不可访问,⑤是云服务可用区级别故障会导致路由到故障AZ的用户不可访问,⑥是容器集群故障导致路由到对应容器服务的用户不可访问,⑦是服务节点故障会导致路由到故障服务节点的用户不可访问。
综上,云化场景下,页面访问面临诸多的关键技术挑战,包括:
针对以上关键挑战,通过华为云官网近几年的实践,总结了4个方案分享给大家,我们将一一拆解,为大家展示这些方案的实际效果。
DNS是相对来说非常重要但却没有得到应有重视的薄弱环节,对于可用性要求极高的商业门户网站,将DNS依托于一家服务商,不出问题风平浪静,一旦发生全局性故障,导致的影响可能是灾难性的。
我们当前的策略是:采用双DNS厂商域名解析方案,在一家服务商发生部分或整体故障时,可以在短时间内自动实现故障切换,将域名解析工作交给其他服务商完成。此外,我们还构建了统一运维平台实现多厂商域名解析的统一配置,以及DNS可用性监控、故障服务的快速剔除能力。
双厂商DNS配置如图所示:
这个配置的前提是域名注册商及域名解析商支持多厂商Name Server配置。具体配置方面,首先将域名注册托管迁移到支持多厂商NS配置的注册商,然后同步DNS厂商配置的解析记录到新厂商,最后域名注册服务及解析服务同时配置NS记录指向双厂商Name Server(0~72小时生效)。
这样配置可以在单个厂商Name Server发生故障时,ISP Local DNS自动将故障Name Server降低选择优先级(BIND SRTT算法,失败惩罚),使用优选的Name Server进行A记录或CNAME域名解析。
演练步骤可以拆解为:
第一步:双厂商NS记录配置。
第二步:通过浏览器检查服务可正常访问。
第三步:拨测Name Server可用性,验证不同地域ISP是否使用了不同厂商的Name Server进行域名解析。
第四步:关停Bind模拟单个厂商DNS故障。
最后,通过HTTP从多个地域拨测服务是否可以正常访问。
下面介绍一下多CDN厂商的配置与切换,如图所示:
使用这个方案的限制条件有三个:DNS协议不支持多厂商CDN的CNAME解析配置;DNS智能解析支持不同地域或网络配置不同的CNAME解析记录;CDN出现整体故障概率较低,更多是区域性故障。
多CDN厂商的配置要先对国内及海外访问分别做主备CDN加速,然后CDN CNAME解析TTL设置为60s,让单CDN厂商服务不可用时,故障切换生效时间更短;最后是构建CDN管理平台,对接多厂商DNS管理API,预先配置切换和回切策略,出现故障一键切换。
最后的配置效果也很明显,CDN告警厂商A大面积故障后,可通过CDN运维管理平台,将对应区域的CNAME解析Failover到厂商B提供服务,生效时间1分钟。
下图是我们运维平台的切换界面示例,可按不同二级域名分国内及海外用户访问场景分别切换。
在2020年和2021年我们遇到了实际的现网故障,CDN的故障切换功能得到了有效应用,让页面访问实现了快速故障恢复。
这里介绍了我们中国站和国际站双站异地多活的组网策略,如图所示:
如果发生区域性地理灾难场景,我们使用站点多Region多活部署,使用这个解决方案要保证内容管理服务发布的页面内容在多云服务区保持同步。同时,LB及网关路由配置多活云服务区保持一致。
具体配置时,先将国内及海外用户CDN回源流量按比例分流至不同云服务区;随后配置健康检查策略,当出现云服务区级别故障时告警,便于自动或手动切换回源流量至健康的云服务区;如果海外与国内服务存在差异时,通过云厂商内部专线在LB或网关进行跨云服务区路由。
这样,在非容灾场景下,多云服务区同时提供页面访问服务,降低单云服务区回源压力。即便出现云服务区级别故障时,也可通过CDN Admin API实现一键故障切换,CDN回源快速回到可用状态。
如图所示,通过我们的运维平台,在单个云服务区故障场景下,可实现故障云服务区的快速剔除,这个过程主要通过批量切换二级域名Region级别回源DNS A记录实现的。
最后介绍一下整个高可用方案的最底层的保底方案:网站备份与故障切换,首先来看一下网站的备份流程,如图所示:
运维人员先配置站点元数据及配置备份策略,站点管理根据备份策略下发备份任务到调度服务,然后调度服务再定时调用备份服务执行备份任务。
采集的话是由备份服务启动Headless Browser加载入口页,再加载静态页面资源,执行页面脚本加载动态页面资源,然后执行预置脚本加载动态页面资源,最后识别页面跳转URL,包括HTML标记及脚本触发的动态跳转点,启动新Headless Browser实例,实现级联爬取。
采集完是存储,页面主文档及相关页面资源加载完成后通过OBS接口转储到对象存储服务,再通过云厂商提供的对象存储跨Region同步能力实现页面内容异地容灾。跨云复制则通过跨云同步工具将备份站点页面内容,同步到其他云厂商对象存储服务,实现跨云容灾。
备份结束后,再看一下故障切换流程。当基础设施问题等原因导致的单云多Region故障使得Web服务整体不可用时,开始故障检测,页面可用性拨测服务监测到云服务区A、B不可用,在5分钟内发出告警。
往下是故障转移,成立重大问题应急处理作战小组,同时打开运维容灾管理平台,查看不可用区域、备份站点拨测是否正常。如果同云备份站点可用,优先切换同云备份站点;如果不可用,第三方云厂商备份站点可用,切换到备份站点。整个切换通过更新回源域名A记录解析地址指向OBS公网访问地址实现。
最后是故障修复阶段,先定位解决问题,拨测Web Server可用,再手动执行故障回切,然后用户回归正常访问。
以上是在各种极端场景下如何保证网站持续在线的一些实践经验的总结,相关方案已经在实际场景下验证有效,并且做到持续的例行化演练。
另外,对于不同类型或规模的网站,高可用并没有具体量化的标准,可以给几个比较粗的级别供参考:最基础的保证功能可用,不考虑网元的单点问题。要求再高一点,考虑应用服务集群化部署、DB、缓存等中间件进行相应的高可用部署,确保没有基本的单点问题。再往上考虑多数据中心部署,解决单数据中心不可用问题。最后是考虑异地多活或容灾,应对某一地理区域灾难的场景。
除了以上传统套路外,随着越来越多的企业都在上云,还要考虑单个云厂商基础设施发生整体故障时如何快速替换及逃生的问题,例如CDN,DNS等,这些都是网站访问基础场景要重点考虑的故障点。
关注@华为云,了解更多资讯
*请认真填写需求信息,我们会在24小时内与您取得联系。