php教程 php手册 堵塞Web漏洞(下)

堵塞Web漏洞(下)

Jun 21, 2016 am 09:10 AM
asp mdb

web

解决方法:
(1) 为你的数据库文件名称起个复杂的非常规的名字,并把他放在几层目录下。所谓“非常规”,打个比方:比如有个数据库要保存的是有关书籍的信息,可不要把它命名为”book.mdb“的名字,起个怪怪的名称,比如d34ksfslf.mdb,再把他放在如./kdslf/i44/studi/ 的几层目录下,这样黑客要想通过猜的方式得到你的Access数据库文件就难上加难了;

(2)不要把数据库名写在程序中。有些人喜欢把DSN写在程序中,比如:

DBPath = Server.MapPath(“cmddb.mdb”)

conn.Open “driver={Microsoft Access Driver (*.mdb)};dbq=” & DBPath

假如万一给人拿到了源程序,你的Access数据库的名字就一览无余。因此建议你在ODBC里设置数据源,再在程序中这样写:

conn.open “shujiyuan”

(3)使用Access来为数据库文件编码及加密。首先在选取“工具”→“安全”→“加密/解密数据库”,选取数据库(如:employer.mdb),然后接确定,接着会出现“数据库加密后另存为”的窗口,存为:employer1.mdb。接着“employer.mdb”就会被编码,然后存为:employer1.mdb。

注意 :以上的动作并不是对数据库设置密码,而只是对数据库文件加以编码,目的是为了防止他人使用别的工具来查看数据库文件的内容。

接下来我们为数据库加密,首先以打开经过编码了的“employer1.mdb”,在打开时,选择“独占”方式。然后选取功能表的“工具”→“安全”→“设置数据库密码”,接着输入密码即可。

为“employer1.mdb”设置密码之后,接下来如果再使用Access数据库文件时,则Access会先要求输入密码,验证正确后才能够启动数据库。

不过要在ASP程序中的Connection对象的open方法中增加PWD的参数即可,例如:

param=“driver={Microsoft Access Driver (*.mdb)};Pwd=yfdsfs”

param=param&“;dbq=”&server.mappath(“employer1.mdb”)

conn.open param

这样即使他人得到了Fmployer1.mdb文件,没有密码他是无法看到employer1.mdb的。

5.asp程序密码验证漏洞

漏洞描述 :

很多网站把密码放到数据库中,在登陆验证中用以下Sql,(以ASP为例)

sql=“select * from user where username=”&username&“and pass=”& pass &”

此时,您只要根据SQL构造一个特殊的用户名和密码,如:ben or 1=1

就可以进入本来你没有特权的页面。再来看看上面那个语句吧:

sql=“select * from user where username=”&username&“and pass=“& pass&”

or 是一个逻辑运算符,作用是在判断两个条件的时候,只要其中一个条件成立,那么等式将会成立。而在语言中,是以1来代表真的(成立)。那么在这行语句中,原语句的“and”验证将不再继续,而因为“1=1”和“or”令语句返回为真值。

另外我们也可以构造以下的用户名:

username=aa or usernameaa

pass=aa or passaa

相应的在浏览器端的用户名框内写入:aa or usernameaa 口令框内写入:aa or passaa,注意这两个字符串两头是没有的。这样就可以成功的骗过系统而进入。

后一种方法理论虽然如此,但要实践是非常困难的,下面两个条件都必须具备。

(1)你首先要能够准确的知道系统在表中是用哪两个字段存储用户名和口令的,只有这样你才能准确的构造出这个进攻性的字符串。实际上这是很难猜中的。

(2)系统对你输入的字符串不进行有效性检查。

问题解决和建议:对输入的内容验证和“”号的处理。

6.IIS4或者IIS5中安装有Index Server服务会漏洞ASP源程序

问题描述 :

在运行IIS4或者IIS5的Index Server,输入特殊的字符格式可以看到ASP源程序或者其它页面的程序。甚至以及添打了最近关于参看源代码的补丁程序的系统,或者没有.htw文件的系统,一样存在该问题。获得ASP程序,甚至global.asp文件的源代码,无疑对系统是一个非常重大的安全隐患。往往这些代码中包含了用户密码和ID,以及数据库的源路径和名称等等。这对于攻击者收集系统信息,进行下一步的入侵都是非常重。

通过构建下面的特殊程序可以参看该程序源代码 :

http://202.116.26.38/null.htwCiWebHitsFile=/default.asp&CiRestriction=none&CiHiliteType=Full

这样只是返回一些HTML格式的文件代码,但是当你添加%20到CiWebHitsFile的参数后面,如下:

http://someurl/null.htw?CiWebHitsFile=/default.asp%20&CiRestriction=none&CiHiliteType=Full

这将获得该程序的源代码。(注意:/default.asp是以Web的根开始计算。如某站点的http://XXXXXX/welcome.asp)

那么对应就是:

http://someurl/null.htw CiWebHitsFile=/XXXXXX/welcome.asp%20& CiRestriction=none&CiHiliteType=Full)

由于Null.htw文件并非真正的系统映射文件,所以只是一个储存在系统内存中的虚拟文件。哪怕你已经从你的系统中删除了所有的真实的.htw文件,但是由于对Null.htw文件的请求默认是由Webhits.dll来处理。所以,IIS仍然收到该漏洞的威胁。

问题解决或者建议 :

如果该Webhits提供的功能是系统必须的,请下载相应的补丁程序。如果没必要,请用IIS的MMC管理工具简单移除“.htw”的映象文件。

7.NT Index Server存在返回上级目录的漏洞

问题描述 :

Index Sserver2.0是WinNT4.0 Option Pack中附带的一个软件的工具,其中的功能已经被WinNT/2000中的Indexing Services所包含。当与IIS结合使用时,Index Server和Indexing Services便可以在最初的环境来浏览Web Search的结果,它将生成一个HTML文件,其中包含了查找后所返回页面内容的简短引用,并将其连接至所返回的页面[即符合查询内容的页面],也就是超级连接。要做到这一点,它便需要支持由Webhits.dll-ISAPI程序处理的.htw文件类型。这个Dll允许在一个模版中使用“../”用做返回上级目录的字符串。这样,了解服务器文件结构的攻击者便可以远程的阅读该机器上的任意文件了。

漏洞的利用 :

(1)您的系统中存在.htw文件

Index Server提供的这种超级连接允许Web用户获得一个关于他搜寻结果的返回页,这个页面的名字是与CiWebHits File变量一起通过.htw文件的,Webhits.dll这个ISAPI程序将处理这个请求,对其进行超级连接并返回该页面。因此用户便可以控制通过.htw文件的CiWebHits变量,请求到任何所希望获得的信息。另外存在的一个问题便是ASP或其他脚本文件的源代码也可以利用该方法来获得。

上面我们说过Webhits.dll后接上“../”便可以访问到Web虚拟目录外的文件,下面我们来看个例子:

http://somerul/iissamples/issamples/oop/qfullhit.dll?CiWebHits File=/../../ winnt/system32/logfiles/w3svc1/ex000121.log&CiRestriction=none&CiHiliteType=Full

在浏览器中输入该地址,便可以获得该服务器上给定日期的Web日志文件.

在系统常见的.htw样本文件有:

/iissamples/issamples/oop/qfullhit.htw

/iissamples/issamples/oop/qsumrhit.htw

/iissamples/exair/search/qfullhit.htw

/iissamples/exair/search/qsumrhit.hw

/iishelp/iis/misc/iirturnh.htw [这个文件通常受loopback限制]

(2)您的系统中不存在.htw文件

调用一个Webhits.dll ISAPI程序需要通过.htw文件来完成,如果您的系统中不存在.htw文件,虽然请求一个不存在的.htw文件将失败,但是您的仍然存在可被利用的漏洞。其中的窍门便是利用Inetinfo.exe来调用Webhits.dll,这样同样能访问到Web虚拟目录外的文件。但我们需要通过制作一个的特殊的URL来完成这个文件必须是一个静态的文件,如“.htm”,“.html”,“.txt”或者“.gif”,“.jpg”。这些文件将用作模版来被Webhits.dll打开。现在我们需要获得Inetinfo.exe来利用Webhits.dll,唯一可以做到这点的便是请求一个.htw文件:

http://url/default.htm.htw CiWebHitsFile=/../../winnt/system32/logfiles/w3svc1/ex000121.log &CiRestriction=none&CiHiliteType=Full

很明显,这个请求肯定会失败,因为系统上不存在这个文件。但请注意,我们现在已经调用到了Webhits.dll,我们只要在一个存在的文件资源后面[也就是在.htw前面]加上一串特殊的数字(%20s ),[就是在例子中“default.htm”后面加上这个代表空格的特殊数字],这样我们便可以欺骗过Web服务器从而达到我们的目的.由于在缓冲部分中.htw文件名字部分被删除掉[由于%20s这个符号],所以,当请求传送到Webhits.dll的时候,便可以成功的打开该文件,并返回给客户端,而且过程中并不要求系统中真的存在.htw文件。

问题解决和建议 :

微软已经对该问题发放了补丁:

Index Server 2.0:

Intel: http://www.microsoft.com/downloads/release.asp ReleaseID=17727

Alpha: http://www.microsoft.com/downloads/release.asp?ReleaseID=17728

Windows 2000 Indexing Services:Intel: http://www.microsoft.com/downloads/release.asp?ReleaseID=17726

8.绕过验证直接进入ASP页面



본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

mdb는 어떤 형식의 파일인가요? mdb는 어떤 형식의 파일인가요? Aug 09, 2023 pm 03:24 PM

MDB는 데이터를 저장하고 관리하기 위해 Microsoft Corporation에서 개발한 데이터베이스 파일 형식입니다. 이는 Microsoft Access 데이터베이스 시스템의 기본 파일 형식이며 기능이 풍부하고 사용하기 쉽습니다. MDB 파일은 데이터 테이블, 쿼리, 양식, 보고서, 매크로 및 모듈 집합으로 구성된 이진 파일 형식입니다.

ASP의 내장 개체는 무엇입니까? ASP의 내장 개체는 무엇입니까? Nov 09, 2023 am 11:32 AM

ASP 내장 개체에는 Request, Response, Session, Application, Server, Session.Contents, Application.Contents, Server.CreateObject, Server.MapPath, Server.Execute, Server.Transfer 등이 포함됩니다. 자세한 소개: 1. 요청: HTTP 요청 개체 등을 나타냅니다.

ASP 개발 도구란 무엇입니까? ASP 개발 도구란 무엇입니까? Oct 23, 2023 am 11:02 AM

ASP 개발 도구에는 Visual Studio, Dreamweaver, FrontPage, EditPlus, UltraEdit, SQL Server Management Studio, RAD Studio, Delphi, Asp.NET 및 Oracle SQL Developer가 포함됩니다.

ASP 스캐닝 도구 취약점 감지 ASP 스캐닝 도구 취약점 감지 Oct 13, 2023 am 10:45 AM

ASP 스캐닝 도구 취약점 탐지: 1. 적절한 스캐닝 도구를 선택합니다. 2. 스캐닝 도구에서 스캐닝 대상을 구성합니다. 3. 필요에 따라 스캐닝 옵션을 구성합니다. 4. 구성이 완료된 후 스캐닝 도구를 시작합니다. 검색 도구 검색된 취약점과 보안 문제를 나열하는 보고서가 생성됩니다. 6. 보고서의 권장 사항에 따라 검색된 취약점과 보안 문제를 수정합니다. 7. 취약점을 수정한 후 검색 도구를 다시 실행합니다. 취약점이 성공적으로 악용되었습니다.

ASP의 취약점을 수동으로 감지하는 방법 ASP의 취약점을 수동으로 감지하는 방법 Oct 13, 2023 am 10:49 AM

ASP 수동 취약점 탐지: 1. 사용자 입력에 대한 ASP 응용 프로그램의 검증 및 필터링 메커니즘을 확인합니다. 2. 출력 데이터에 대한 ASP 응용 프로그램의 인코딩 및 필터링 메커니즘을 확인합니다. 3. ASP 응용 프로그램의 인증 및 세션 관리 메커니즘을 확인합니다. 파일 및 디렉터리에 대한 ASP 응용 프로그램의 권한 제어 5. ASP 응용 프로그램의 오류 처리를 확인합니다. 6. ASP 응용 프로그램의 데이터베이스 보안을 확인합니다. 7. ASP 응용 프로그램의 구성 파일과 서버 구성을 확인합니다.

데이터베이스에 액세스하기 위해 ASP를 연결하는 방법 데이터베이스에 액세스하기 위해 ASP를 연결하는 방법 Oct 18, 2023 am 11:33 AM

연결 방법: 1. ADO를 사용하여 데이터베이스에 연결합니다. 2. DSN을 사용하여 데이터베이스에 연결합니다. 3. 연결 문자열을 사용하여 데이터베이스에 연결합니다.

ASP 취약점을 탐지하는 방법은 무엇입니까? ASP 취약점을 탐지하는 방법은 무엇입니까? Oct 13, 2023 am 10:42 AM

방법은 다음과 같습니다. 1. 특수 취약점 검색 도구를 사용합니다. 2. ASP 응용 프로그램의 취약점을 발견하고 확인하기 위해 수동 테스트를 수행합니다. 3. ASP 응용 프로그램의 코드 및 구성 파일을 확인합니다. 4. 취약점 공격 프레임워크를 사용합니다. ASP 응용 프로그램의 코드입니다.

ASP 보안 감사 취약점 탐지를 수행하는 방법 ASP 보안 감사 취약점 탐지를 수행하는 방법 Oct 13, 2023 am 10:54 AM

ASP 보안 감사 취약점 탐지 단계: 1. ASP 애플리케이션에 대한 관련 정보를 수집합니다. 2. ASP 애플리케이션의 소스 코드를 주의 깊게 분석합니다. 3. 사용자 입력에 대한 ASP 애플리케이션의 검증 및 필터링 메커니즘을 확인합니다. 5. 애플리케이션의 인증 및 세션 관리 메커니즘을 확인합니다. 6. 파일 및 디렉터리에 대한 애플리케이션의 권한 제어를 확인합니다. 7. 애플리케이션의 오류 처리를 확인합니다. 9. 취약점을 수정합니다.

See all articles