Archive for the ‘个人作品’ Category

七月 18th, 2009

IIS写权限检查工具 for 2k&xp&2003

5 Comments, 个人作品, by Neeao, 1,163 views.

由于一时疏忽而不小心开启了IIS的写权限,而导致被上传webshell的情况在目前看来几乎是不可能了,但是就是有某些服务器管理员不小心打开了,没办法。手工一个一个查太麻烦了,找了些资料,自己用VC++写了一个检查工具。
至于为什么不选择脚本来弄,考虑是脚本的话,很多服务器不支持,于是乎就选用了VC++,放上去一运行看日志就ok了。
程序介绍:

程序在WindowsXP环境下采用VC++ 2005开发。
调用系统ADSI来查看IIS配置信息。
在Windows 2k(IIS5.0)、WindowsXP(IIS5.1)、Windows2003(IIS6.0)上测试正常。由于没有IIS7.0的环境,所以没有测试可用性。
双击运行即可,会在程序当前目录生成IIS.log文件,当然也会在控制台显示。
发现在没有装IIS的Windows系统上会报错,^_^,感谢amxku帮忙测试,已修正。

程序运行截图:

下载:iis_write_check1
md5:8c14a8b7911cedb6dae72ff2c70918d5

在网上想找到个系统点的还真难,综合一些资料,总结了下map的增删改查以及读写入文件操作:
//初始化先
map<string, string> maplist;
//插入数据
maplist.insert(map<string,string> :: value_type(“123asd”,”123asd”));
maplist.insert(map<string,string> :: value_type(“123asds”,”123asds”));
maplist.insert(map<string,string> :: value_type(“123asdss”,”123asdss”));
//判断键值是否存在
map < string, string >::iterator it;
it= maplist.find(“123asd);
if(it == maplist.end()) {
cout<<”没找到”<<endl;
}
else
{
cout<<“找到”<<endl;
//输出键值所对应数据
maplist["123asd"];
}
//修改键值对应数据
maplist["123asd"]=”hello,Neeao”;
//删除键值
it = maplist.find(“123asd”);
if…

七月 15th, 2009

VC++ 判断文本文件是否UTF-8编码

6 Comments, 个人作品, by Neeao, 438 views.

在网上找了几天,没找到现成的,通过自己查资料,测试,终于可以使用了,放在这里,供其他搜索的朋友使用下。
原理,通过二进制读取文本文件的前三个字节来判断是否是UTF-8编码,以下是最终代码。
string filename = “c:\\Default.asp”;
ifstream fin( filename.c_str(),ios::binary);
if( !fin )
{
cout << “打开文件” << filename << “出错” << endl;
//exit(-1);
}
else
{
byte bytes[3];
fin.read((char *)&bytes,sizeof bytes);
if(bytes[0] ==…

五月 11th, 2009

常用Web开发语言HttpOnly设置详解

1 Comment, 个人作品, by Neeao, 433 views.

———————————-
by:Neeao
Http://www.neeao.com
2009-05-11
———————————–
关于HttpOnly对于防范XSS来获取 cookies信息的分析,请参考剑心同学写的:利用httponly提升应用程序安全性,这里仅把常用的一些Web开发语言的设置方法整理总结下,备用。
javaEE中的设置:
API中没有提供具体的操作方法或者函数属性来设置,不知道后续版本是否会提供,下面为变通设置方法:
————————————————————————————–
response.setHeader(“Set-Cookie”, “cookiename=value;
Path=/;Domain=neeao.com;Max-Age=seconds;HTTPOnly”);
————————————————————————————–
ASP.NET中的设置
.net2.0以上版本支持在Web.config文件中来配置全局的httponly,设置如下,在web.config中添加一个节点即可:
——————————————————————
<httpCookies httpOnlyCookies=”true” />
——————————————————————
.net2.0以上版本cookie对象中,直接有一个HttpOnly的参数供调用,使用方法如下:
C#代码:

三月 11th, 2009

Web应用安全思维导图

3 Comments, 个人作品, by Neeao, 922 views.

Web应用安全思维导图,内容取自于《黑客大曝光–Web应用安全机密与解决方案》。

九月 21st, 2008

web编程常见漏洞与检测.ppt

3 Comments, 个人作品, by Neeao, 1,513 views.

原创作品,转载请注明来源,谢谢。**************************By:Neeaohttp://www.neeao.com**************************
今天在ISF2008研讨会上的议题的ppt,主要是关于代码审计方面的一些东东,有兴趣的朋友看下了。
点击下载

八月 20th, 2008

sql通用防注入3.2 beta 20080820更新

38 Comments, 个人作品, by Neeao, 2,858 views.

3.2 beta 20080820,修补一处错误导致阻止ip无法使用,谢谢GXM同学反馈,^_^。update:将下载的Neeao_SqlIn.Asp覆盖原文件即可。
代码已托管到Google:http://code.google.com/p/defencesqlinject/downloads/list

今天看一个项目代码,文件不多,不过每个文件中都N多注入,一个一个看实在太累,索性花了点时间,弄了个正则表达式,搜索出来,然后再将安全的筛选出去。省了不少时间的说。
1.查找select、update、delete语句
((select|SELECT|update|UPDATE|delete|DELETE)+.*(from|FROM|set|SET)+.*(where|WHERE)+.*)
查询语句,对于没有条件判断的基本不存在注入问题,因而仅搜索此语句即可例子:select * from user where
2.简单的数字型注入
((select|SELECT|update|UPDATE|delete|DELETE)+.*(from|FROM|set|SET)+.*(where|WHERE)+.*=[ ]?["]?["]?\$)
能找到select、update delete三种语句,5种格式的整形注入,如:直接变量传入select * from guess where id=$subject_idupdate guess set is_valid=0 where id=$subject_iddelete from guess…

八月 3rd, 2008

sql通用防注入3.2 beta版以及安装建议

6 Comments, 个人作品, by Neeao, 2,396 views.

在这里先谢谢某人,再谢谢所有支持和关心本站以及我个人的朋友们,是你们给了我继续把这个站点更新下去的动力和勇气,谢谢。
上次发布的版本是:2006年10月12日
原本不打算再更新了,不过最近又有朋友问起了,在测试中确实又发现了一些问题,亲自帮助一个朋友安装调试也发现了一些问题,索性花了点时间修补了下Bug。功能上没有改变,仅仅修补安装时候可能出现的一个bug:

引用
Option Explicit选项打开系统无法正常使用的bug,并且优化了变量定义,防止与用户系统变量重复。

提供一些安装的建议:1.就是调用主文件的时候,最好采用绝对路径调用,防止因路径问题引起一些不必要的麻烦。如:<!–#include virtual="/Neeao.com/Neeao_SqlIn.Asp"–>2.安装的时候,最好能在文件头部调用,有时候可能有些程序在调用数据库连接文件的时候,并不是在头部,如:
<%search=Request.QueryString("search")%><!–#include file="inc/conn.asp" –>数据查询语句,将search变量带入sql语句。
这种情况下,虽然conn.asp文件调用了防注入系统,但是一样是没用的,因为sql防注入系统是在变量search通过get获取参数后被调用的,因而就不能防止注入了。解决方法:将每个文件调用的conn.asp写到代码最上部,比如,上面的:
<!–#include file="inc/conn.asp" –><%search=Request.QueryString("search")%>
这样写的话,就能防止search变量被注入了。
其它的想起来了再说吧。
没有太多时间测试,有问题了留言,谢谢。
点击下载

By:Neeao[B.C.T]
最近flash漏洞比较猖狂的说,昨天拿到0day样本,今天就听到朋友说有机子中招。
正好从网上找了个叫做SWFObject的小工具,做了个flash在线自动更新的东东,share下了。
测试地址:http://www.neeao.com/flash/程序下载:http://www.neeao.com/flash/flash.rar使用方法:
var so = new SWFObject("so_tester.swf", "sotester", "300", "300", "9.0.124", "#FF6600");
将9.0.124更新为最新的flash版本号,浏览者看到即会自动更新了。
如果版本小于最新的9.0.124的话,则提示更新,如下图:如果已经更新过了的话,则提示safe,如下图: