- 浏览: 616436 次
- 性别:
- 来自: 杭州,长沙
文章分类
- 全部博客 (279)
- Java (30)
- Jsp、Servlet (18)
- Web前端 (56)
- Oracle (31)
- SqlServer (1)
- Jetty (3)
- Tomcat (6)
- Weblogic (11)
- Websphere (2)
- Struts2 (13)
- Spring (5)
- Ibatis (8)
- Hibernate (3)
- Webservice (1)
- C/C++ (2)
- Linux (13)
- Android (1)
- 正则表达式 (3)
- 网络组建 (3)
- 软件工程 (11)
- IDE使用技巧 (20)
- Windows操作技巧 (18)
- 养生之道 (1)
- 杂七杂八 (15)
- 心理保健 (1)
最新评论
-
50854319:
elements[i] = tagArr[i]; 这个需要修改 ...
document.getElementsByName在IE下的bug解决 -
mengsina:
通过楼主的介绍,能够启动client了。但是又遇到了cisco ...
(转)Cisco Systems, Inc. VPN使用过程中常见问题解决方案 -
zzz_robinson:
谢谢,关闭-启动-启动。这个循序对的,否则每次都提示服务没打开 ...
(转)Cisco Systems, Inc. VPN使用过程中常见问题解决方案 -
wuchunjiesp:
总算解决了,THANK楼主,空值问题是TYPE里面参数类型定义 ...
(原创)Ibatis2调用数据库存储过程的相关示例 -
wuchunjiesp:
存储里面是这样的
FOR I IN 1..P_GOODSDI ...
(原创)Ibatis2调用数据库存储过程的相关示例
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联系不大,但多少还有些联系,所以就一起说了.
发表评论
-
List of mine types
2010-08-03 18:44 1355List of mine types &qu ... -
document.getElementsByName在IE下的bug解决
2010-06-17 09:23 3814那天封装一个ajax边输入边提示标签,在JS脚本中使用到了do ... -
JS文件中获取contextPath的方法
2010-06-11 15:48 3183function getContextPath() { ... -
javascript获取当前鼠标在屏幕上的会标(转)
2010-06-11 14:35 1028<script>function mouseMov ... -
HTML页面元素加载顺序研究报告(5)----Script标签在Firefox下对背景图片的影响
2010-06-09 13:09 2280在上一节中发现,背景图片似乎还有些需要研究的地方。 代码 ... -
HTML页面元素加载顺序研究报告(4)----用JavaScript插入图片
2010-06-09 13:08 34224.下面我们试试用Javascript插入图片 代码: ... -
HTML页面元素加载顺序研究报告(3)----Script标签与背景图片(转)
2010-06-09 12:08 24253、看下Javascript对图片加载顺序的影响 采用和 ... -
HTML页面元素加载顺序研究报告(2)----背景图片(转)
2010-06-09 11:39 26962、接下来考察背景图片的加载: 一般来说,添加背景图片有 ... -
HTML页面元素加载顺序研究报告(1)----简单Div罗列(转)
2010-06-09 11:37 1930一直没有意识到HTML页面的元素加载顺序有什么重要性,至多 ... -
提高网站访问速度的34条军规二 (转)
2010-06-09 11:32 99918 预先加载组件 (Preload ... -
提高网站访问速度的34条军规一 (转)
2010-06-09 11:28 13661 减少HTTP请求数量 (Minimize HTTP Req ... -
JavaScript输出中文乱码的解决方法
2010-06-08 16:27 1435当页面中包含的js文件中有中文输出时,在页面中会出现乱码. ... -
javascript动态循环添加行及行中的事件调用带参数的函数
2010-06-03 16:33 1971今天在做一个动态循环添加行,并在新行添加onclick事件,调 ... -
(转)a href=#与 a href=javascript:void(0) 的区别
2010-02-23 15:53 2275<a href="#"> 点击 ... -
树型对象的table展现形式思考
2009-10-20 13:57 1099如图所示:近日项目中需要将一个动态树型结构以表格动态合并行 ... -
Javascript实现web表格宽度拖动(分固定宽度和不固定宽度)
2009-06-30 19:47 2106<html><head><tit ... -
JSeclipse最新的update地址
2009-03-30 10:22 1492http://www.interaktonline.com/P ... -
Javascript窗口与提示大全
2009-03-19 15:40 1185//-----------按钮提示框----------// ... -
web标准:div+css命名规则
2009-03-16 11:41 1215SEO(搜索引擎优化)有很多工作要做,其中对代码的优化是一个很 ... -
四种悬浮DIV提示效果
2009-03-11 09:55 7150<html> <head> <t ...
相关推荐
Bugku-Web-cookie欺骗 Bugku-Web-cookie欺骗是指通过构造Cookie欺骗服务器,获取敏感信息或控制服务器行为的一种攻击方式。...Bugku-Web-cookie欺骗是一种危险的攻击方式,需要我们采取防御措施来保护服务器的安全。
===================================迹线可以防止:-帆布指纹欺骗-音频指纹保护- WebGL指纹保护-JS加密货币挖掘域阻止-WebRTC IP泄漏保护-WebRTC设备枚举保护-客户端直肠保护-用户代理欺骗-网络信息API欺骗-浏览器...
- **无线网络审计**:对于无线网络环境,需要特别关注Wi-Fi加密方式、SSID广播设置等方面的安全性。 #### 五、持续监控与响应 - **建立监控机制**:部署入侵检测系统(IDS)、入侵防御系统(IPS)等工具,实时监控网络...
- 通过框架钓鱼:利用框架或页面嵌套进行钓鱼攻击,欺骗用户输入敏感信息。 - 链接注入(便于跨站请求伪造,CSRF):攻击者构造恶意链接,诱导用户点击后执行非预期操作。 - 应用程序错误:程序逻辑错误,可能暴露出...
3. **安全漏洞分析**:桂林老兵cookie欺骗工具可以检测网站是否对cookie进行了足够的安全防护,例如是否使用了HTTPS加密传输,是否设置了安全标志(Secure flag),是否使用了HttpOnly属性防止JavaScript访问等。...
总结,Web编程安全涵盖多个层面,包括理解Web系统架构、选择安全的编程语言、防范URL操作、XSS和SQL注入等。开发人员必须时刻警惕潜在的威胁,采取适当的防护措施,以确保Web应用程序的稳定性和安全性。
这些攻击方式可以使攻击者获取敏感信息、控制服务器或欺骗用户执行恶意操作。例如,SQL注入允许攻击者通过构造特定的SQL语句来读取、修改、删除数据库中的数据。 2. 中间人攻击(MITM):这种攻击模式中,攻击者在...
女口,URL过滤、端口阻断、防IP欺骗、过滤进入的Java或 ActiveX、防病毒等。 防火墙是否支持 拒绝所有服务,除非明确允许"的策略? 1.4审计监控 具有特权访问防火墙的人员的活动是否鉴别、监控和检查? 对防火墙的...
- **考虑因素**:选择合适的加密算法和随机数生成器,确保其安全性和健壮性。 - **Web框架安全** - **定义**:流行的Web开发框架如Spring、Struts、Hibernate等可能会存在安全漏洞。 - **示例**:Struts2的命令...
对称算法优点:力[1/解密速率快,密钥管理简单,适宜一对一的信息加密传输 对称算法缺点:加密算法简单,秘钥长度有限,加密强度不髙,密钥分发困难,不适宜一对 多的加密信息传输 非对称算法优点:安全性好,其...
- 常见的手法包括利用单引号、注释符等来欺骗数据库执行额外的操作。 - **示例**: - **基于错误的注入**: - 输入单引号等特殊字符来触发错误,从而推断数据库结构。 - 示例: `username='' or 1=1#`。 - **基于`...
这确保了用户与正确的服务器建立安全连接,防止中间人攻击和欺骗。 4. **SEO与信任**: - **HTTPS**:对于搜索引擎优化(SEO)和建立用户信任非常重要。搜索引擎更倾向于将使用HTTPS的网站排名更高,因为它们提供...
以上只是文档的部分内容,实际上,完整的应用系统安全检测还包括身份验证和授权、会话管理、密码安全、加密技术、日志和监控等多个方面。每个环节都需要严格的设计和实施,以构建一个全面的安全防护体系。只有这样,...
6. **请求管理**:为了避免对目标服务器造成过大压力,爬虫需要有良好的请求管理机制,比如设置延时、使用User-Agent欺骗、处理验证码或登录状态等。 7. **数据存储**:抓取到的数据通常需要存储以便后续分析。这...
8. 不安全的存储和传输:敏感数据在存储或传输过程中如果未加密,就很容易被截获,如数据库中存储的用户密码、信用卡信息等。 白帽子在这个过程中扮演着至关重要的角色,他们尝试从攻击者的角度出发,识别和利用Web...
2. 知道管理页面的URL,这可以通过探测或已有的安全漏洞获得。 3. 知道所需的Session变量及其验证规则,这可能通过源码分析或尝试猜测得到。 防止Session欺骗的方法包括: 1. 使用HTTPS等加密传输协议,确保Session...
- 数据库本身的安全部检测:数据库本身应具备高级别的安全性,如使用SSL/TLS加密、开启防火墙、配置强密码策略等。 - 数据使用时的一致性和完整性测试:确保数据在使用过程中的一致性和完整性,防止数据被篡改。...