首先建立一个 list.txt文件,里面每一行写一个即将建立的文件夹的名字
再建立一个文本文件,在里面输入以下内容
@echo off
for /f "delims=" %%i in (list.txt) do mkdir list\%%i"
保存为list.bat文件,然后双击运行即可。
这样就可以在当前目录下面的list目录里面建立list.txt文件里面列出来的所有文件夹。
最近发现常使用的eWebEditor菜单按钮总是点击不出来,在搜索引擎关键字“IE8 eWebEditor”,原来是IE8故障。得到以下解决方法。
是因为ie8屏蔽了anonymous方法所以要改成onclick方法,打开include下面的editor.js文件,有这样的段代码:
| if (element.YUSERONCLICK) { eval(element.YUSERONCLICK + "anonymous()"); } |
| if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "anonymous()"); |
把那个anonymous方法改成onclick就可以了。
问题是解决了,心情也舒畅了,结果没过两个小时我的会员就像我反应页面出问题,我换到别人的电脑上一看,这叫一个汗,原来把那个方法改成onclick之后在ie7下面就不管用了,毕竟现在很多人用的还是ie7,这叫一个头疼,于是还是去网上找,总是感觉不可能是我一个人遇到这样的问题。
最后果然还是在csdn上找到了答案:
| if(navigator.appVersion.match(/8./i)=='8.') { if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "onclick(event)"); } else { if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "anonymous()"); } |
用这样一段代码,对浏览器的版本做一个判断就好了,但是我却不知道在ie6下面管不管用,毕竟现在用ie6的人少了,一时我也不知道去哪测试。
漏洞介绍:nginx是一款高性能的web服务器,使用非常广泛,其不仅经常被用作反向代理,也可以非常好的支持PHP的运行。80sec发现其中存在一个较为严重的安全问题,默认情况下可能导致服务器错误的将任何类型的文件以PHP的方式进行解析,这将导致严重的安全问题,使得恶意的攻击者可能攻陷支持php的nginx服务器。
漏洞分析:nginx默认以cgi的方式支持php的运行,譬如在配置文件当中可以以
| location ~ \.php$ { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; include fastcgi_params; } |
的方式支持对php的解析,location对请求进行选择的时候会使用URI环境变量进行选择,其中传递到后端Fastcgi的关键变量SCRIPT_FILENAME由nginx生成的$fastcgi_script_name决定,而通过分析可以看到$fastcgi_script_name是直接由URI环境变量控制的,这里就是产生问题的点。而为了较好的支持PATH_INFO的提取,在PHP的配置选项里存在cgi.fix_pathinfo选项,其目的是为了从SCRIPT_FILENAME里取出真正的脚本名。
那么假设存在一个http://www.80sec.com/80sec.jpg,我们以如下的方式去访问
| http://www.80sec.com/80sec.jpg/80sec.php |
将会得到一个URI
| /80sec.jpg/80sec.php |
经过location指令,该请求将会交给后端的fastcgi处理,nginx为其设置环境变量SCRIPT_FILENAME,内容为
| /scripts/80sec.jpg/80sec.php |
而在其他的webserver如lighttpd当中,我们发现其中的SCRIPT_FILENAME被正确的设置为
| /scripts/80sec.jpg |
所以不存在此问题。
后端的fastcgi在接受到该选项时,会根据fix_pathinfo配置决定是否对SCRIPT_FILENAME进行额外的处理,一般情况下如果不对fix_pathinfo进行设置将影响使用PATH_INFO进行路由选择的应用,所以该选项一般配置开启。Php通过该选项之后将查找其中真正的脚本文件名字,查找的方式也是查看文件是否存在,这个时候将分离出SCRIPT_FILENAME和PATH_INFO分别为
| /scripts/80sec.jpg和80sec.php |
最后,以/scripts/80sec.jpg作为此次请求需要执行的脚本,攻击者就可以实现让nginx以php来解析任何类型的文件了。
将会得到一个URI
| /80sec.jpg/80sec.php |
经过location指令,该请求将会交给后端的fastcgi处理,nginx为其设置环境变量SCRIPT_FILENAME,内容为
| /scripts/80sec.jpg/80sec.php |
而在其他的webserver如lighttpd当中,我们发现其中的SCRIPT_FILENAME被正确的设置为
| /scripts/80sec.jpg |
所以不存在此问题。
后端的fastcgi在接受到该选项时,会根据fix_pathinfo配置决定是否对SCRIPT_FILENAME进行额外的处理,一般情况下如果不对fix_pathinfo进行设置将影响使用PATH_INFO进行路由选择的应用,所以该选项一般配置开启。Php通过该选项之后将查找其中真正的脚本文件名字,查找的方式也是查看文件是否存在,这个时候将分离出SCRIPT_FILENAME和PATH_INFO分别为
| /scripts/80sec.jpg和80sec.php |
最后,以/scripts/80sec.jpg作为此次请求需要执行的脚本,攻击者就可以实现让nginx以php来解析任何类型的文件了。
POC: 访问一个nginx来支持php的站点,在一个任何资源的文件如robots.txt后面加上/80sec.php,这个时候你可以看到如下的区别:
访问http://www.80sec.com/robots.txt
| HTTP/1.1 200 OK Server: nginx/0.6.32 Date: Thu, 20 May 2010 10:05:30 GMT Content-Type: text/plain Content-Length: 18 Last-Modified: Thu, 20 May 2010 06:26:34 GMT Connection: keep-alive Keep-Alive: timeout=20 Accept-Ranges: bytes |
访问访问http://www.80sec.com/robots.txt/80sec.php
| HTTP/1.1 200 OK Server: nginx/0.6.32 Date: Thu, 20 May 2010 10:06:49 GMT Content-Type: text/html Transfer-Encoding: chunked Connection: keep-alive Keep-Alive: timeout=20 X-Powered-By: PHP/5.2.6 |
其中的Content-Type的变化说明了后端负责解析的变化,该站点就可能存在漏洞。
漏洞厂商:http://www.nginx.org
解决方案:
我们已经尝试联系官方,但是此前你可以通过以下的方式来减少损失
| 关闭cgi.fix_pathinfo为0 |
或者
| if ( $fastcgi_script_name ~ \..*\/.*php ) { return 403; } |
PS: 鸣谢laruence大牛在分析过程中给的帮助
2010年第五届中国互联网站长年会官方网站:http://zz.comsenz.com/2010zz/
2010年中国互联网站长年会门票邮寄说明:http://zz.comsenz.com/space.php?uid=2&do=blog&id=6857
首先要保证自己的QQ是2009这个版本,然后下载一个代码.txt的文档(右键点击这里,目标另存为)。下面进入QQ2009的个人设置中,在昵称里先将原来的名字去掉,然后粘贴代码(注意不要复制括号)。复制完后点击,点击确定按钮保存退去(图1)。
下面把鼠标放到QQ头像中,就会发现已经看不到自己的QQ号码(图2)。而且就算在聊天窗口中,也看不到自己的QQ号码(图3),将QQ号码完全进行隐藏。不过要注意的是,对方必须也是QQ2009这个版本才能够进行隐藏,要是其他版本的QQ(包括TM),依然可以看到号码。
如果想让自己的QQ更炫,那么就用一下这个方法,将自己的QQ号进行隐藏,可能对方跟自己聊了半天却不知道是谁。相信一定会很酷,你还等什么?赶快去试试,给朋友一个惊奇。
QQ2009SP6好像已经修复了这个bug[2010-01-13 17:18:00]
下载文件 (已下载 285 次)





