果茶小说网 > 其他电子书 > 反黑风暴 >

第28章

反黑风暴-第28章

小说: 反黑风暴 字数: 每页3500字

按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!




【提示】

IECookiesView工具只对IE浏览器的Cookies有效,若使用其他浏览器浏览网站,得到的Cookies信息可能会存在差异。

步骤03在IECookiesView中,还可以对Cookies中的键值进行编辑。在窗口下方的列表中右键单击某个键值,在其快捷菜单中选择【编辑cookies内容】菜单项,即可打开【编辑cookies内容】对话框。在其中可对该键值的各个属性进行重新设置。

步骤04在窗口上方的列表中右击某个Cookie信息,在弹出菜单中选择【开启站台】菜单项,IE浏览器就会自动利用保存在Cookies信息打开相应的网站。

这样,黑客就利用这些不起眼的Cookies成功获得别人隐私信息,而且在论坛中还可冒用别人名义发表帖子。

当在浏览器地址栏中输入要访问的网址后,浏览器会向该Web站点发送一个读取网页的请求;在显示网页的同时,网页所在服务器同时也会在当前访问电脑中搜索设置的Cookie文件,如果找到就会在它的数据库中检索用户的登录ID、购物记录信息,以确认登录;如果找不到Cookie文件的相应信息,则表示用户是第一次浏览该网站,这样即会提示用户登录后使用。而不怀好意的黑客就是利用了这个原理,在获得用户的Cookie文件会实施信息分析,找出其中有用的信息。

2。Cookies欺骗与上传攻击

单纯的Cookie欺骗攻击,可以获得后台管理员页面的访问权限,有时还可以帮助黑客直接上传ASP木马,以实现攻击整个网站服务器的目的。下面以“L…Blogv1。08(SE)Build0214博客程序”为例,介绍黑客如何利用其存在的Cookie欺骗漏洞来获得前台管理员权限,从而引发文件上传漏洞攻击。

(1)“L…Blog”中的Cookie欺骗漏洞分析

从网上下载“L…Blogv1。08(SE)Build0214”博客程序,程序中包含多个ASP文件。在“L…Blogv1。08(SE)Build0214”程序的上传文件中存在一个上传漏洞,需要先在Dreamweaver中打开上传程序网页文件“Attachment。asp”,并找到如下的代码:

DimF_File;F_FileType;F_FileName

SetF_File=FileUP。File(〃File〃)

F_FileName=F_File。FileName

F_FileType=Ucase(F_File。FileExt)

IFF_File。FileSize》Int(UP_FileSize)Then

Response。Write(〃文件大小超出,请返回重新上传〃)

ElseIFIsvalidFileName(F_FileName)=FalseThen

Response。Write(〃文件名称非法,请返回重新上传〃)

ElseIFIsvalidFileExt(F_FileType)=FalseThen

Response。Write(〃文件格式非法,请返回重新上传〃)

Else

IfFSOIsOK=1Then

DimFileIsExists

SetFSO=Server。CreateObject(〃Scripting。FileSystemObject〃)

FileIsExists=FSO。FileExists(Server。MapPath(〃attachments/〃&D_Name&〃/〃&F_Name))

Do

F_Name=Generator(4)&〃_〃&F_FileName

LoopUntilFSO。FileExists(Server。MapPath(〃attachments/〃&D_Name&〃/〃&F_Name))=False

SetFSO=Nothing

Else

F_Name=Generator(4)&〃_〃&Hour(Now())&Minute(Now())&Second(Now())&〃_〃&F_FileName

EndIf

由于上述代码对文件路径变量过滤不严,所以造成文件上传漏洞的存在。而在上传文件前需要进行验证,验证的具体实现代码如下:

Server。ScriptTimeOut=999

If(memNameEmptyAndMemCanUP=1)Or(memStatus=〃SupAdmin〃OrmemStatus=〃Admin〃)Then

DimUP_FileType;UP_FileSize

IfmemStatus=〃SupAdmin〃OrmemStatus=〃Admin〃Then

UP_FileType=Adm_UP_FileType

UP_FileSize=Adm_UP_FileSize

Else

UP_FileType=Mem_UP_FileType

UP_FileSize=Mem_UP_FileSize

EndIf

从上述代码中可以看出上传文件前需要验证,而验证则主要通过“IfmemStatus=〃SupAdmin〃OrmemStatus=〃Admin〃Then”代码实现。上述代码作用是验证“memStatus”的值是否为“SupAdmin”或“Admin”,如果是则可以上传文件。

下面了解下“MemStatus”参数的来处。在Dreamweaver中打开该博客网站中的“mond。asp”文件,并在其中找到对用户“Cookie”进行验证的实现代码。

IFmemNameEmptyThen

DimCheckCookie

SetCheckCookie=Server。CreateObject(〃ADODB。RecordSet〃)

SQL=〃SELECTmem_Name;mem_Password;mem_Status;mem_LastIPFROMblog_MemberWHEREmem_Name='〃&memName&〃'ANDmem_Password='〃&memPassword&〃'ANDmem_Status='〃&memStatus&〃'〃

CheckCookie。OpenSQL;Conn;1;1

SQLQueryNums=SQLQueryNums+1

IfCheckCookie。EOFANDCheckCookie。BOFThen

Response。Cookies(CookieName)(〃memName〃)=〃〃

memName=Empty

Response。Cookies(CookieName)(〃memPassword〃)=〃〃

memPassword=Empty

Response。Cookies(CookieName)(〃memStatus〃)=〃〃

memStatus=Empty

Else

IfCheckCookie(〃mem_LastIP〃)Guest_IPOrisNull(CheckCookie(〃mem_LastIP〃))Then

Response。Cookies(CookieName)(〃memName〃)=〃〃

memName=Empty

Response。Cookies(CookieName)(〃memPassword〃)=〃〃

memPassword=Empty

Response。Cookies(CookieName)(〃memStatus〃)=〃〃

memStatus=Empty

EndIf

EndIF

CheckCookie。Close

SetCheckCookie=Nothing

Else

Response。Cookies(CookieName)(〃memName〃)=〃〃

memName=Empty

Response。Cookies(CookieName)(〃memPassword〃)=〃〃

memPassword=Empty

Response。Cookies(CookieName)(〃memStatus〃)=〃〃

memStatus=Empty

EndIF

上述代码主要用于验证用户输入的用户名是否在数据库的管理员的表中。如果存在则将该用户的Cookie信息写入到memStatus和其他几个标识中。

而写入的这些标识信息又会被下面的代码所调用:

DimmemName;memPassword;memStatus

memName=CheckStr(Request。Cookies(CookieName)(〃memName〃))

memPassword=CheckStr(Request。Cookies(CookieName)(〃memPassword〃))

memStatus=CheckStr(Request。Cookies(CookieName)(〃memStatus〃))

当成功调用后,就会将最终的结果传递给上传程序,再进行上传权限判断。从整个验证过程可知,上传用户权限信息全由Cookie提供,下面是验证用户名和密码的具体实现代码:

IFmemNameEmptyANDSession(〃GuestIP〃)Guest_IPThen

DimCheckCookie

SetCheckCookie=Server。CreateObject(〃ADODB。RecordSet〃)

SQL=〃SELECTmem_Name;mem_Password;mem_Status;mem_LastIPFROMblog_MemberWHEREmem_Name='〃&memName&〃'ANDmem_Password='〃&memPassword&〃'ANDmem_Status='〃&memStatus&〃'〃

CheckCookie。OpenSQL;Conn;1;1

SQLQueryNums=SQLQueryNums+1

IfCheckCookie。EOFANDCheckCookie。BOFThen

Response。Cookies(CookieName)(〃memName〃)=〃〃

memName=Empty

Response。Cookies(CookieName)(〃memPassword〃)=〃〃

memPassword=Empty

Response。Cookies(CookieName)(〃memStatus〃)=〃〃

memStatus=Empty

Else

IfCheckCookie(〃mem_LastIP〃)Guest_IPOrisNull(CheckCookie(〃mem_LastIP〃))Then

Response。Cookies(CookieName)(〃memName〃)=〃〃

memName=Empty

Response。Cookies(CookieName)(〃memPassword〃)=〃〃

memPassword=Empty

Response。Cookies(CookieName)(〃memStatus〃)=〃〃

memStatus=Empty

EndIf

EndIF

CheckCookie。Close

SetCheckCookie=Nothing

Else

Response。Cookies(CookieName)(〃memName〃)=〃〃

memName=Empty

Response。Cookies(CookieName)(〃memPassword〃)=〃〃

memPassword=Empty

Response。Cookies(CookieName)(〃memStatus〃)=〃〃

memStatus=Empty

EndIF

对用户和密码判断流程是:如果用户Cookie信息中的memName值不为空,就从数据库验证用户名和密码,如果验证出错,则清空Cookie信息。上述验证程序并没有考虑MemName为空的情况,如果MemName为空,则Cookie信息是不被清空的。

由于文件上传页面只对memStatus进行验证,黑客手工将menStatus的值修改为“SupAdmin”或“Admin”就可以拥有上传权限了。

(2)利用Cookie欺骗获得上传权限

在网上搜索“PoweredbyL…BlogV1。08”程序,可搜索到很多使用“L…Blogv1。08(SE)Build0214”程序的博客网站。由于这些网站存上一个上传漏洞,因此,可以利用Cookie欺骗来获得这些网站的上传权限。下面以网络上搜索到的任意一个使用“L…Blogv1。08(SE)Build0214”程序的博客网站为例,介绍实现Cookie欺骗攻击的具体操作方法。

步骤01打开搜索到的博客网站,进入其首页中,单击“用户登陆”区域中的【注册】按钮,注册一个新用户。

步骤02进入“用户注册”页面,在其中输入用户名“shuangyuzuo7”,密码“123456”及电子邮箱。单击【提交】按钮,即可成功注册该用户并登录到博客网站中。

步骤03从网上下载并运行“老兵Cookies欺骗工具”,在其地址栏中输入该博客网站登录界面的地址,并单击【连接】按钮,即可显示“登陆成功”界面。在“老兵Cookies欺骗工具”主窗口中的“Cookie”文本框中看到当前页面的Cookie信息:

loveyuki%5Fzzwb=memPassword=E10ADC3949BA59ABBE56E057F20F883E&memStatus=Member&memName=shuangyuzuo7;ASPSESSIONIDSCQCDRRB=NOJMGPADFOCHCOFAABOJJMOM,其中包含了登录的用户名和密码等信息。黑客可以对Cookie信息进行修改,欺骗Blog程序,使其认为登录用户的身份是管理员。

步骤04单击工具栏中的【设置自定义的Cookies】按钮,即可对Cookie信息进行修改。将Cookie信息中的“memStatus=Member&”修改为“memStatus=SupAdmin”或“memStatus=Admin”。

步骤05继续保持【设置自定义的Cookies】按钮处于按下状态,退出当前的用户登录,重新打开Blog首页,虽然此时没有登录,但已具有管理员的权限。

获得管理员权限后,黑客即可利用专门的漏洞上传工具将ASP木马上传到Blog服务器上,进而对网站进行攻击。

第二章 局域网中的ARP欺骗与防范

在局域网中,通过ARP协议可以完成IP地址转换为第二层物理地址(即MAC地址)。通过伪造IP地址和MAC地址实现ARP欺骗,能够在网络中产生大量的ARP通信量使网络阻塞。为了防止计算机遭受ARP欺骗,用户还应该掌握一些防范软件的使用方法,利用它们来截获ARP攻击。

10。2。1认识ARP

ARP是“AddressResolutionProtocol”的缩写,即地址解析协议,它是一种将IP地址转化成物理地址的协议。在TCP/IP网络环境下,每个主机都分配了一个32位的IP地址,这种互联网地址是在网际范围标识主机的一种逻辑地址。

为了让报文在物理网路上传送,必须知道对方目的主机的物理地址。这样就存在把IP地址变换成物理地址的地址转换问题。具体说来,ARP就是将网络层(IP层,相当于OSI的第三层)地址解析为数据连接层(MAC层,相当于OSI的第二层)的MAC地址。

在局域网中,网络中实际传输的是“帧”,帧里面有目标主机的MAC地址。在以太网中,一个主机要和另一个主机进行直接通信,除要知道目标主机的网络层逻辑地址(如IP地址)外,还必须要知道目标主机的MAC地址。

而这个目标MAC地址就是通过地址解析协议获得的。关于“地址解析”的含义,可以这样来解释,就是主机在发送帧之前,将目标IP地址转换成目标MAC地址的过程。

10。2。2ARP协议工作原理

在能够正常上网的计算机中,都安装有TCP/IP协议,这些电脑里都有一个ARP缓存表,表里的IP地址与MAC地址是一一对应的。

ARP协议的工作原理:假如IP地址为192。168。1。3的某主机A要向IP地址为192。168。0。7的主机B发送数据,这时主机A就会先来查询本地的

返回目录 上一页 下一页 回到顶部 0 0

你可能喜欢的