「ウエブサイトの追加」における問題など #1

クローズ
n2022-06-05 19:15:44 +09:00に作成 · 6件のコメント

ウエブサイトの追加ページなどでの問題点です。

1つ目は、このページにはURL以外のものも入力できるようになっていることです。
このとき、不適切なURLだったとしてもdomainsecuritycheckが続行し、'curl -o /dev/null -s -w "%{http_code}\n" '.$url.' 2>&1'などが実行されるため、任意のコードを実行できてしまいます。
これはセキュリティー上、問題がある場合があります。
たとえば、URLとして;kill $(pgrep php)を指定すると、処理しているPHPプログラムが正常に完了する前に終了し、サーバーからはエラーが返されます。

2つ目は、ルートからルート以外に転送されるページを登録できないことです。
たとえばの話、https://ja.wikipedia.org/というページにアクセスした場合、https://ja.wikipedia.org/wiki/メインページというアドレスに自動で転送されるとき、

  • https://ja.wikipedia.org/wiki/メインページを入力した場合、URLがホスト名までになっていないため追加できない
  • https://ja.wikipedia.orgを入力した場合、301でリダイレクトが発生するため追加できない

となり、事実上https://ja.wikipedia.org/というページは登録できなくなっています。

あと、ヘッダーのGitアイコンのリンクがhttps://git.076.ne.jp/TechnicalSuwako/urlo.liへのものになっているため、https://git.076.ne.jp/TechnicalSuwako/kensaku.onlineなどに変えたほうがよいと思います。

[ウエブサイトの追加](https://kensaku.online/submit.php)ページなどでの問題点です。 1つ目は、このページにはURL以外のものも入力できるようになっていることです。 このとき、不適切なURLだったとしても`domainsecuritycheck`が続行し、`'curl -o /dev/null -s -w "%{http_code}\n" '.$url.' 2>&1'`などが実行されるため、任意のコードを実行できてしまいます。 これはセキュリティー上、問題がある場合があります。 たとえば、URLとして`;kill $(pgrep php)`を指定すると、処理しているPHPプログラムが正常に完了する前に終了し、サーバーからはエラーが返されます。 2つ目は、ルートからルート以外に転送されるページを登録できないことです。 たとえばの話、<https://ja.wikipedia.org/>というページにアクセスした場合、<https://ja.wikipedia.org/wiki/メインページ>というアドレスに自動で転送されるとき、 - `https://ja.wikipedia.org/wiki/メインページ`を入力した場合、URLがホスト名までになっていないため追加できない - `https://ja.wikipedia.org`を入力した場合、301でリダイレクトが発生するため追加できない となり、事実上<https://ja.wikipedia.org/>というページは登録できなくなっています。 あと、ヘッダーのGitアイコンのリンクが<https://git.076.ne.jp/TechnicalSuwako/urlo.li>へのものになっているため、<https://git.076.ne.jp/TechnicalSuwako/kensaku.online>などに変えたほうがよいと思います。
suwako がコミットでこのイシューを参照 2022-06-05 20:20:40 +09:00
オーナー

1つ目の件、これは修正しました。
有難う御座います。
shell_execを使いたくないですが、何でphp-curlについて忘れたかわかりません。(;・∀・)

2つ目の件、移転チェックは結構厳しいですね。
すぐマルウェアに移転されるページの場合もありますので、このチェックを追加しましたが、例えばwikipeidaの場合はちょっと難しいかもしん。

ヘッダーのGitアイコンのリンクの件、修正しました。

1つ目の件、これは修正しました。\ 有難う御座います。\ shell_execを使いたくないですが、何でphp-curlについて忘れたかわかりません。(;・∀・) 2つ目の件、移転チェックは結構厳しいですね。\ すぐマルウェアに移転されるページの場合もありますので、このチェックを追加しましたが、例えばwikipeidaの場合はちょっと難しいかもしん。 ヘッダーのGitアイコンのリンクの件、修正しました。
作成者

もう一つ、検索するキーワードの先頭や末尾にスペースを入れたり( JavaScriptなど)、2つ連続でスペースを入れると(Java Scriptなど)、検索結果がうまく表示されないようです。

もう一つ、検索するキーワードの先頭や末尾にスペースを入れたり(` JavaScript`など)、2つ連続でスペースを入れると(`Java Script`など)、検索結果がうまく表示されないようです。
suwako がコミットでこのイシューを参照 2022-06-05 20:57:01 +09:00
suwako がコミットでこのイシューを参照 2022-06-05 20:58:22 +09:00
作成者

1つ目はちゃんと修正されているようですが、Tor経由での接続確認にはphp自体の実行にtorsocksしないといけないようですね。
2つ目ですが、これは確かに難しい話になりそうです。もし追加するURLをルートのみに制限するのであれば、
転送先が同一オリジンか調べ、転送先がさらに転送する場合はループになっていないかも調べる...などの複雑な処理になりそうです。
Gitアイコンのリンクは治っていました!!

検索の空キーワードについては、phpは詳しくないですが、スペースで分割した後に空文字列を消せばよいと考えています。

1つ目はちゃんと修正されているようですが、Tor経由での接続確認にはphp自体の実行にtorsocksしないといけないようですね。 2つ目ですが、これは確かに難しい話になりそうです。もし追加するURLをルートのみに制限するのであれば、 転送先が同一オリジンか調べ、転送先がさらに転送する場合はループになっていないかも調べる...などの複雑な処理になりそうです。 Gitアイコンのリンクは治っていました!! 検索の空キーワードについては、phpは詳しくないですが、スペースで分割した後に空文字列を消せばよいと考えています。
作成者

trimが必要なようです

trimが必要なようです
オーナー

検索の空キーワードについては、phpは詳しくないですが、スペースで分割した後に空文字列を消せばよいと考えています。

これは修正しました。

1つ目はちゃんと修正されているようですが、Tor経由での接続確認にはphp自体の実行にtorsocksしないといけないようですね。

php-curlで「 https://pixiv.net 」及び「 https://tradeogre.org 」を確認したら、正しく確認されるみたいですが、なければ例えを教えて下さい。

2つ目ですが、これは確かに難しい話になりそうです。もし追加するURLをルートのみに制限するのであれば、
転送先が同一オリジンか調べ、転送先がさらに転送する場合はループになっていないかも調べる...などの複雑な処理になりそうです。

下記の物で3回転送まで可能ですので、大丈夫だと思います。

curl_setopt($ch, CURLOPT_MAXREDIRS, 3);

Gitアイコンのリンクは治っていました!!

イェーイ!!

> 検索の空キーワードについては、phpは詳しくないですが、スペースで分割した後に空文字列を消せばよいと考えています。 これは修正しました。 > 1つ目はちゃんと修正されているようですが、Tor経由での接続確認にはphp自体の実行にtorsocksしないといけないようですね。 php-curlで「 https://pixiv.net 」及び「 https://tradeogre.org 」を確認したら、正しく確認されるみたいですが、なければ例えを教えて下さい。 > 2つ目ですが、これは確かに難しい話になりそうです。もし追加するURLをルートのみに制限するのであれば、 転送先が同一オリジンか調べ、転送先がさらに転送する場合はループになっていないかも調べる...などの複雑な処理になりそうです。 下記の物で3回転送まで可能ですので、大丈夫だと思います。 ```php curl_setopt($ch, CURLOPT_MAXREDIRS, 3); ``` > Gitアイコンのリンクは治っていました!! イェーイ!!
suwako がコミットでこのイシューを参照 2022-06-05 21:12:47 +09:00
作成者

おそらくすべて修正できています!ありがとうございます。

おそらくすべて修正できています!ありがとうございます。
n がイシューをクローズ 2022-06-05 21:20:08 +09:00
このリポジトリはアーカイブされています。 イシューにコメントを追加することはできません。
ラベルなし
マイルストーンなし
プロジェクトなし
担当者なし
2 人の参加者
期日
期日が正しくないか範囲を超えています。 'yyyy-mm-dd' の形式で入力してください。

期日は未設定です。

依存関係

依存関係が設定されていません。

リファレンス: suwako/kensaku.online#1
説明はありません。