onihusube / 2chAPIProxy

2ch(5ch)のAPI未対応専ブラに代わってAPIアクセスや書きこみを行うローカルプロクシ
MIT License
32 stars 6 forks source link

書き込み仕様変更について #2

Open onihusube opened 2 years ago

onihusube commented 2 years ago

X-PostNonce: 現在のunix時間 X-MonaKey: 書き込み確認画面のレスポンスヘッダにある X-PostSig: リクエストボディとかのハッシュ?

一番最初の書き込みは X-MonaKey: 00000000-0000-0000-0000-000000000000 で投げて 書き込み確認のレスポンスが帰ってくるからそのヘッダにある X-MonaKey: ??? を使って改めて書き込み そしてX-MonaKeyを保持して次からの書き込みに使い回す X-MonaKeyの寿命は604800秒(一週間) 荒らすとそのX-MonaKeyがBANされて書き込み不可に ってとこか X-PostSigの算出が分かれば解決しそう APIってより書き込みの際のbbs.cgiのヘッダを変えただけかな webブラウザからはどうするんだろ

onihusube commented 1 year ago

2chMate/0.8.10.158でAPIキーが変更されてたのか そういえば155あたりでX-2ch-UAを送らなくなったとか聞いたことがあるし微妙にいじってきてるんだな

POST https://egg.5ch.net/test/bbs.cgi?guid=ON HTTP/1.1
Referer: https://egg.5ch.net/test/read.cgi/software/1672480787/
X-PostSig: c30d8c053ed****************************
X-APIKey: T14RBuDO60GZErtPZRZ91XwwwFLIhv
X-PostNonce: 1673158856.140
X-MonaKey: 0ca27ca67cf463ab886****************************
User-Agent: Monazilla/1.00 2chMate/0.8.10.158 Dalvik/2.1.0 (Linux; *****************)
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Content-Length: 116
Host: egg.5ch.net
Connection: Keep-Alive
Accept-Encoding: gzip

FROM=&mail=sage&MESSAGE=test&bbs=software&key=1672480787&submit=%E6%9B%B8%E3%81%8D%E8%BE%BC%E3%82%80&time=1673158856

153のAPIKey+153のHMKey+158のUA → APIキーが一致しません 158のAPIKey+153のHMKey+158のUA → 署名が一致しません

ソフトウェア板での結果 どっちもX-2ch-UAは消してる

153のAPIKey+153のHMKey+158のUA+158のX-2ch-UA → APIキーが一致しません 153のAPIKey+153のHMKey+158のUA+153のX-2ch-UA → APIキーが一致しません

解析しておいたので例のサイトを参照してください

AppKey: T14RBuDO60GZErtPZRZ91XwwwFLIhv
HMKey: U8N0m4PXvfi7hWz7hEJBTAsioigNl0
...

🙏🙏🙏🙏

onihusube commented 1 year ago

https://egg.5ch.net/test/read.cgi/software/1675673014/44-45

最新バージョンだとgearや泥janeのキーが例のサイトのやつから変わってるみたいだけど誰か解析してくれないかのぅ

gearとjane、追加しといた

AppKey: b9bsxpLQ5yqYt5jGIXOyb3jdKge5wY
HMKey: 1LLQiJjXNLpkqncsVtAcvorGtZsMkT

AppKey: hRG8Mi2B5KBy7Verp5dvx23MKXWdrD
HMKey: Vd2lLFTXQkpczSBgySsCHIKka7F4EG

🙏🙏🙏🙏

onihusube commented 1 year ago

あくまで自分が認識しているレベルでだが、いまのUAチェックってザックリこんな感じだろう

<5ch全体>

文字列の先頭にMozilla/.又はMonazilla/.が記載されていない→ 403   (Monazilla/.の場合は専ブラ用のUAチェックへ) ↓ Mozilla/4.0未満 → 403 Mozilla/4.* → もう新しいのにしましょ Mozilla/5.0以外 → 不正なProxy 5 ↓ クッキーが何かおかしい → もうこのスレには書けません/VPN931 等々 ↓ 文字列長が385以上 → 不正なProxy 2 全角文字を含んでいる → 不正なProxy 2 "<"又は">"を含んでいる → 不正なProxy 15 ↓ 特定のOS名かプラットホーム名、及び特定のブラウザ名か「Gecko/」を両方含んでいる状態にない → 不正なProxy 11 ↓ OSやブラウザのバージョン表記が指定の範囲外 → もう新しいのにしましょ/もっと古いのにしましょ 【重要】バージョン表記が無い場合や数値として認識できない場合はノーチェック ↓ 正常なUAとして認定、引き続き板ごとのチェックへ

<板ごと>

ブラウザやOSの種類やバージョンが板で設定したブラックリストに該当している → 余所 【重要】バージョン表記が無い場合や数値として認識できない場合はやっぱりノーチェック

onihusube commented 1 year ago

不正なPROXY 23 は、Accept-Language がない 不正なPROXY 27 はわからんが、edge で出るってレスあるな

不正なPROXY 12 は Refererの中身が不十分だとか 不正なPROXY 20 は Acceptの中身が/だけだとか