|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。还无法完全实现一些企业级的功能:完全的集群、负载均横。成绩 关于Oblog 2.52 help.asp破绽的修补成绩
这是一件很成心思的工作。
OBlog是一套基于asp的Blog体系,今朝的版本是2.52吧。
前些日子,呈现了个help.asp文件破绽,
可以检查恣意文件的源文件,包含asp文件,效果天然是严重的。
如今,这个成绩官方已修补了,修正后的关头代码以下:
<%
fname=trim(request("file"))
fname=lcase(fname)
fname=replace(fname,"asp","")
if fname="" then
fname="help/h_sysmain.htm"
end if
if right(fname,4)=".htm" then
show_help="以后地位:<a href='index.asp'>首页</a>→blog利用匡助<hr noshade>"
show_help=show_help&adodb_loadfile(fname)
show=replace(show,"$show_list$",show_help)
response.Write show
call bottom()
else
response.Write("输出文件不准确")
end if
%>
昨天某个QQ群里,一个用户突发奇想,说是修补后的下面这段代码仍然有成绩。
上面来看看他的剖析思绪:
修补的代码次要是两方面,一个是交换失落一切的asp字符串,避免检查asp文件,二是只要后缀是htm的文件才干用。
起首,看看交换asp的代码:
fname=replace(fname,"asp","")
所以假如会见help.asp?file=conn.asp的时分,就酿成了help.asp?file=conn.了
那末假如咱们会见help.asp?file=conn.aaspsp呢,经由交换今后就酿成了help.asp?file=conn.asp了。
所以,这个交换asp的回护办法不是很牢靠的,仍是可以绕曩昔的。
那末,再看第二点,就是怎样绕事后缀是.htm的反省
他的思绪是如许的:
前段工夫不是有个上传破绽吗,咱们普通都是先抓包,然后修正数据,
机关文件名,如a.asp%00.gif,
如许,上传法式还会觉得这就是gif文件,而实践保留的时分只保留成a.asp了。
那末在这里,不是也能够吗?
机关一个conn.asp%00.htm的文件名,如许就可以够棍骗过fname的检测,
然后在adodb_loadfile(fname)函数里,真正翻开的是conn.asp文件,
如许就到达了目标。
从他的思绪来看,仍是对照符合逻辑的,
并且,他剖析的第一步,就是绕过对asp的反省也是准确的
只是第二步,他的了解仍是有误的。
很多多少人晓得上传破绽,可是究竟甚么是上传破绽,
很多多少人就不清晰了。
并且在asp中,和php,perl外面又有些分歧。
详细可以参考一下这个文档,
http://security-assessment.com/Papers/0x00_vs_ASP_File_Uploads.pdf
信任对人人了解上传破绽仍是对照有匡助的。
</p> asp对于服务器的要求较高,一般的服务器如果访问量一大就垮了,不得不重启。 |
|