php - SQLインジェクションとxssの分析の具体例
高洛峰
高洛峰 2017-06-13 09:22:07
0
3
1856

私の Web サイトは 1 か月前に攻撃され、今日 360 から脆弱性検出レポートを受け取りました。なんと、360 はまだこのようなことを行っているのですか?

  • SQL インジェクション
    脆弱性リンク 1:
    http://xxx.com:80/index.php?alias=message&action=comment?comment-diary-id=1&comment-ip=182.118。 33.8&comment-author=88888&comment-email=hacker@hacker.org&comment-url=http: //www.hacker.org/&comment-text=88888&comment-submit=SEND&comment-parent=0 RLIKE (SELECT (CASE WHEN (4725=4725) ) THEN 0 ELSE 0x28 END))
    脆弱性リンク 2:
    http://xxx.com:80/index.php?alias=message' AND SLEEP(5)
    # 脆弱性リンク 3:
    http://xxx.com:80/index.php?cat=note' AND 'dSob'='dSob

  • xss
    脆弱性リンク:
    http://xxx.com:80/admin/login.php?req_url=/admin/index.php"><script>alert(42873) )</script>

データベースへの書き込み時に addslashes を使用しても挿入されるのはなぜですか?注入するにはリンク 1 とリンク 2 を組み合わせる必要がありますか?
2 番目の脆弱性に関しては、それを防ぐ方法がわかりません。
サイトのセキュリティに関する詳細な調査は行っておりません。これがどのように達成されるのか、また抜け穴を修正する方法を分析していただきたいと思います。ありがとうございます。
データベースにコードを書き込む必要がある場合は、投稿します。

PS、リンクを書くとsfによって自動的に短縮されるため、http:の後にスペースが追加されます。


デバッグ後、実際に注入できます...SQL についてまだ十分に理解していません

データベースに書き込まれる最終ステートメントは次のとおりです:

リーリー

最後の文の意味を聞きたいです

リーリー
高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全員に返信(3)
Ty80

xss ネストされた HTML スクリプト コード、パラメーターは HTML エンティティに変換される必要があります。関数htmlspecialchars

接続 1 は、mysql のキーワードを入力して mysql を実行することです。ここで、キーワードをフィルタリングする必要があります。

もちろん、インジェクションを防ぐ最善の方法は前処理を使用することです。 ! ! !

いいねを押す +1
洪涛
  1. SQL ステートメントを結合する代わりに、パラメーター化されたクエリを使用することが最善です。

  2. xss はパラメータ フィルタリングを通じて <script> のようなスクリプト コードをフィルタリングできます。

いいねを押す +1
我想大声告诉你

コードはまったくフィルタリングされていません

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!