`
sbpya
  • 浏览: 616436 次
  • 性别: Icon_minigender_1
  • 来自: 杭州,长沙
社区版块
存档分类
最新评论

URL欺骗-安全加密

阅读更多

URL结构

我们来仔细看看URLs和与其有关的安全含义。一种“有趣”的URL利用方式已被垃圾广告投递者发现很长时间了,不过现在“KB”(Knowledge Base)欺骗和二月发表于Crypto-Gram的文章,已经使得URL可以做更多的事。

虽然大部分Internet用户把WWW地址或FTP同URLs联系起来,但Uniform Resource Locators(URL,统一资源定位器)使用的更普遍一些。URLs的标准在RFC1738中规定,其中最普通的形式定义为:

:
部分是网络协议名称,部分被定义为:

//:@:/

其中只有部分是必须的。":"和"@"字符具有特殊的含义,从而服务器可以解析完整的字符串.如果用户名和密码包含在URL中,部分只是从"@"字符后开始.看看在KB欺骗论及的例子:

http://www.microsoft.com&item=q209354@www.hwnd.net/pub/mskb/Q209354.asp

其中真正的主机是"www.hwnd.net"."www.microsoft.com"在这个URL中不过是个假的用户名,服务器会忽略它.

虽然上面的例子是合乎语法的,但是却可能引起同安全相关的问题.在Internet节点的终端,不是网卡、Modems或计算机,而是人.他们有意识或无意识都应该考虑到屏幕上出现的东西是否值得信任.

信任是最基本的安全评价.像上面例子那样的带有欺骗性的URL,利用了我们对常识中URLs格式的信任.这种欺骗还利用了我们把主要注意力都集中到主要内容而不是URL地址(虽然有时URL可以帮助我们判断可信度)这个事实.SSL保护的站点,把一部分对可信度的判断工作交给浏览器,浏览器会比较带有SSL 认证信息的域;另一方面,如果目的主机是虚构的,那么仅仅依靠加密技术并不能提供太多有用的评价.

隐藏

上面关于URL的分析只是简单的隐藏了它的真实目的地.我们可以用更好的方法来进行隐藏.由于某些原因(有可能是内部处理引起的),有的操作系统对IP地址的操作并不是通过我们常用的格式,就象是:aaa.bbb.ccc.ddd,而是相应的十进制数.

上面这类地址可以改写成十进制的值:aaa*256^3+bbb*256^2+cccc*256+ddd.这样,3633633987就是 216.148.218.195(属于www.redhat.com红帽子公司).你可以在浏览器中输入3633633987,你会发现你已经来到了 REDHAT公司的网站上.上面的操作可以使用IE5.X或者是Linux下的Lynx,但并没对其他操作系统进行测试,可能会相差很多.一些软件会对你的输入提示"非法的URLs",但你只要用很少的软件(包括常用的工具,如ping)进行测试,你就可以判断出这个操作系统是否支持这种URLs的使用方式.

如果该操作系统支持这种使用,那么就可以通过构造如下的URL来制造更大的迷惑:http://www.toronto.com:ontario@3633633987/,这个URL仍然指到REDHAT.因为很多的网站都把 HTTP的SessionID存在URL中,来代替使用Cookie,所以Internet使用者并不会注意URL中的数字值,这样上面构造的URL不会带来任何怀疑.密码部分可以省略,这样http://www.toronto.com@3633633987/的迷惑性更强.  

URL结构

我们来仔细看看URLs和与其有关的安全含义。一种“有趣”的URL利用方式已被垃圾广告投递者发现很长时间了,不过现在“KB”(Knowledge Base)欺骗和二月发表于Crypto-Gram的文章,已经使得URL可以做更多的事。

虽然大部分Internet用户把WWW地址或FTP同URLs联系起来,但Uniform Resource Locators(URL,统一资源定位器)使用的更普遍一些。URLs的标准在RFC1738中规定,其中最普通的形式定义为:

:
部分是网络协议名称,部分被定义为:

//:@:/

其中只有部分是必须的。":"和"@"字符具有特殊的含义,从而服务器可以解析完整的字符串.如果用户名和密码包含在URL中,部分只是从"@"字符后开始.看看在KB欺骗论及的例子:

http://www.microsoft.com&item=q209354@www.hwnd.net/pub/mskb/Q209354.asp

其中真正的主机是"www.hwnd.net"."www.microsoft.com"在这个URL中不过是个假的用户名,服务器会忽略它.

虽然上面的例子是合乎语法的,但是却可能引起同安全相关的问题.在Internet节点的终端,不是网卡、Modems或计算机,而是人.他们有意识或无意识都应该考虑到屏幕上出现的东西是否值得信任.

信任是最基本的安全评价.像上面例子那样的带有欺骗性的URL,利用了我们对常识中URLs格式的信任.这种欺骗还利用了我们把主要注意力都集中到主要内容而不是URL地址(虽然有时URL可以帮助我们判断可信度)这个事实.SSL保护的站点,把一部分对可信度的判断工作交给浏览器,浏览器会比较带有SSL 认证信息的域;另一方面,如果目的主机是虚构的,那么仅仅依靠加密技术并不能提供太多有用的评价.

隐藏

上面关于URL的分析只是简单的隐藏了它的真实目的地.我们可以用更好的方法来进行隐藏.由于某些原因(有可能是内部处理引起的),有的操作系统对IP地址的操作并不是通过我们常用的格式,就象是:aaa.bbb.ccc.ddd,而是相应的十进制数.

上面这类地址可以改写成十进制的值:aaa*256^3+bbb*256^2+cccc*256+ddd.这样,3633633987就是 216.148.218.195(属于www.redhat.com红帽子公司).你可以在浏览器中输入3633633987,你会发现你已经来到了 REDHAT公司的网站上.上面的操作可以使用IE5.X或者是Linux下的Lynx,但并没对其他操作系统进行测试,可能会相差很多.一些软件会对你的输入提示"非法的URLs",但你只要用很少的软件(包括常用的工具,如ping)进行测试,你就可以判断出这个操作系统是否支持这种URLs的使用方式.

如果该操作系统支持这种使用,那么就可以通过构造如下的URL来制造更大的迷惑:http://www.toronto.com:ontario@3633633987/,这个URL仍然指到REDHAT.因为很多的网站都把 HTTP的SessionID存在URL中,来代替使用Cookie,所以Internet使用者并不会注意URL中的数字值,这样上面构造的URL不会带来任何怀疑.密码部分可以省略,这样http://www.toronto.com@3633633987/的迷惑性更强. 现在,我们可以使用一些HTTP知识:anchor(锚)标记允许显示的文本指到一个不是文本本身的连接上,这样我们可以把连接写成 http://www.toronto.com,然后把连接的文字设成锚,再把这个锚连接到http: //www.toronto.com@3633633987/上,是不是很危险,如果你点击这个连接,依旧会把你带到REDHAT公司.

另一个对信任的利用是可信站点的间接寻址提供的.很多知名网站通过如下格式的连接来记录引导访问者来此的网址:"http://www.thisisarespectablesite.com/outsidelinks/http: //externalsite",在服务器端捕获请求信息后,再把用户重定向到目标网站上.

这就使任何人都可以使用这种间接寻址服务,通过与URL困惑组合使用,给欺诈性的URLs提供更多的合法性.可以限制HTTP提交区域的输入值,来避免非法的输入,但很少有网站这么做.

如果你觉着以上说的还不够,哪你还可以利用Unicode编码,把真实目的URL通过Unicode码写出,再解析时会还原成真实目的.

上面的这些对于"知识渊博"的垃圾广告制造者来说都不是新东西,但对于用来攻击一般不会起疑的用户来说,还是非常有用的.

One-click 攻击

下面,我们对URL安全问题进一步讨论.

很多"标准"的攻击都可以从缓冲区溢出开始,但是现在这种溢出却不好找到.那么,我们怎么办呢?

在注册表中,有如下的键值:HKEY_LOCAL_MACHINE\SOFTWARE\Classes\PROTOCOLS\Handler,在 HKEY_CLASSES_ROOT\Shell下还有"URL Protocol"这个子键(你可以使用查找来搜索这些键).其中你可以找到ftp://, http://, https://, mailt//, news://, pnm://和其他协议.这里面有很多协议都是以前没见过的,比如msee://.通过快速的试验,发现msee://是"微软大百科"使用的,可能是用来查阅内部文章用的."微软大百科"是否会引起缓冲区溢出呢,如果是,那么是否可以实际利用呢?这些都要进行更深的研究.

我们可以找到很多在安装软件时添加的URL构造(比如copernic://就是copernic搜索工具生成的).另外,还可以使用脚本语言修改受害机注册表来添加我们的URL结构,脚本语言可以用vbs编制,然后通过email发送过去,在然后.........你就可以使用这个URL结构来引起缓冲区溢出了. 虽然这看起来同URL联系不大,但多少还有些联系,所以就一起说了.

分享到:
评论

相关推荐

    Bugku-Web-cookie欺骗.docx

    Bugku-Web-cookie欺骗 Bugku-Web-cookie欺骗是指通过构造Cookie欺骗服务器,获取敏感信息或控制服务器行为的一种攻击方式。...Bugku-Web-cookie欺骗是一种危险的攻击方式,需要我们采取防御措施来保护服务器的安全。

    Trace - Online Tracking Protection-crx插件

    ===================================迹线可以防止:-帆布指纹欺骗-音频指纹保护- WebGL指纹保护-JS加密货币挖掘域阻止-WebRTC IP泄漏保护-WebRTC设备枚举保护-客户端直肠保护-用户代理欺骗-网络信息API欺骗-浏览器...

    如何查找网络安全漏洞.txt

    - **无线网络审计**:对于无线网络环境,需要特别关注Wi-Fi加密方式、SSID广播设置等方面的安全性。 #### 五、持续监控与响应 - **建立监控机制**:部署入侵检测系统(IDS)、入侵防御系统(IPS)等工具,实时监控网络...

    WEB开发安全漏洞修复方案 (2).pdf

    - 通过框架钓鱼:利用框架或页面嵌套进行钓鱼攻击,欺骗用户输入敏感信息。 - 链接注入(便于跨站请求伪造,CSRF):攻击者构造恶意链接,诱导用户点击后执行非预期操作。 - 应用程序错误:程序逻辑错误,可能暴露出...

    桂林老兵cookie欺骗

    3. **安全漏洞分析**:桂林老兵cookie欺骗工具可以检测网站是否对cookie进行了足够的安全防护,例如是否使用了HTTPS加密传输,是否设置了安全标志(Secure flag),是否使用了HttpOnly属性防止JavaScript访问等。...

    Web编程安全.pptx

    总结,Web编程安全涵盖多个层面,包括理解Web系统架构、选择安全的编程语言、防范URL操作、XSS和SQL注入等。开发人员必须时刻警惕潜在的威胁,采取适当的防护措施,以确保Web应用程序的稳定性和安全性。

    注入中转URL必须用的

    这些攻击方式可以使攻击者获取敏感信息、控制服务器或欺骗用户执行恶意操作。例如,SQL注入允许攻击者通过构造特定的SQL语句来读取、修改、删除数据库中的数据。 2. 中间人攻击(MITM):这种攻击模式中,攻击者在...

    信息安全管理制度-网络安全设备配置规范v1.doc

    女口,URL过滤、端口阻断、防IP欺骗、过滤进入的Java或 ActiveX、防病毒等。 防火墙是否支持 拒绝所有服务,除非明确允许"的策略? 1.4审计监控 具有特权访问防火墙的人员的活动是否鉴别、监控和检查? 对防火墙的...

    白帽子讲Web安全 读书笔记一

    - **考虑因素**:选择合适的加密算法和随机数生成器,确保其安全性和健壮性。 - **Web框架安全** - **定义**:流行的Web开发框架如Spring、Struts、Hibernate等可能会存在安全漏洞。 - **示例**:Struts2的命令...

    网络安全复习.docx

    对称算法优点:力[1/解密速率快,密钥管理简单,适宜一对一的信息加密传输 对称算法缺点:加密算法简单,秘钥长度有限,加密强度不髙,密钥分发困难,不适宜一对 多的加密信息传输 非对称算法优点:安全性好,其...

    web安全问题1

    - 常见的手法包括利用单引号、注释符等来欺骗数据库执行额外的操作。 - **示例**: - **基于错误的注入**: - 输入单引号等特殊字符来触发错误,从而推断数据库结构。 - 示例: `username='' or 1=1#`。 - **基于`...

    http_https-导出.pdf

    这确保了用户与正确的服务器建立安全连接,防止中间人攻击和欺骗。 4. **SEO与信任**: - **HTTPS**:对于搜索引擎优化(SEO)和建立用户信任非常重要。搜索引擎更倾向于将使用HTTPS的网站排名更高,因为它们提供...

    应用系统安全检测要求20191227

    以上只是文档的部分内容,实际上,完整的应用系统安全检测还包括身份验证和授权、会话管理、密码安全、加密技术、日志和监控等多个方面。每个环节都需要严格的设计和实施,以构建一个全面的安全防护体系。只有这样,...

    将自动爬虫的结果判断是否属于hooks并不断抓取url爬啊爬

    6. **请求管理**:为了避免对目标服务器造成过大压力,爬虫需要有良好的请求管理机制,比如设置延时、使用User-Agent欺骗、处理验证码或登录状态等。 7. **数据存储**:抓取到的数据通常需要存储以便后续分析。这...

    白帽子讲Web安全

    8. 不安全的存储和传输:敏感数据在存储或传输过程中如果未加密,就很容易被截获,如数据库中存储的用户密码、信用卡信息等。 白帽子在这个过程中扮演着至关重要的角色,他们尝试从攻击者的角度出发,识别和利用Web...

    拿别人Session欺骗 好了的站1

    2. 知道管理页面的URL,这可以通过探测或已有的安全漏洞获得。 3. 知道所需的Session变量及其验证规则,这可能通过源码分析或尝试猜测得到。 防止Session欺骗的方法包括: 1. 使用HTTPS等加密传输协议,确保Session...

    WEB安全测试分类及防范测试方法.pdf

    - 数据库本身的安全部检测:数据库本身应具备高级别的安全性,如使用SSL/TLS加密、开启防火墙、配置强密码策略等。 - 数据使用时的一致性和完整性测试:确保数据在使用过程中的一致性和完整性,防止数据被篡改。...

Global site tag (gtag.js) - Google Analytics