以下の内容はhttps://yaruonichijou.blog.fc2.com/blog-entry-50318.htmlより取得しました。


読者投稿:楽しいクラッキング SQLインジェクション

目次 国際的な小咄

8578 : 高専ライダー ◆S2luxg9l7o : 2021/03/08(月) 17:13:31 ID:JD.OkYrs


楽しいクラッキング SQLインジェクション

1/5
                 、
                    l.l'、
                   ___.| .!.l,
              _..i''./ ''| l 'l、
            ,r'" .'"'''' l、 .ゝ|.l
           /      ./ ヽ-,.l.l
             !     _iゝ /.! |.l;;..l.l        SQLインジェクションについて簡単な解説だ
          !    .,i/ヽ././//ll.!i.l|          今回挙げる例みたいな単純なのが現代において成功するはずはないですが
          !.i、  ./| .__ヽl゙ | ゙l,゙,,,!         もし成功したら草を生やした後で捨てアカからのメールで警告してあげましょう
          |.!.ヽ .l'"'"   l o〃  |
        ,, -'|,.l ! .l    .l ||!  ./
        .l, l゙ ゝ'" ./ .......'ノ_| !-;;/......,,      こいつは2005年頃から認知され始めたらしく、いまだに被害が出ているそうな
        |.ヽ'、.l .ヽ_ .|  'i;;r‐ l l.,i'!ミ'i、  .ヽヽ,
          l,  ''''ミニ、.''│ |;;.lii|i〃、 .l !.''!/、.lヽヽ
      ./ ヽ.   .'"'''i_,゙''--!〃 ' .,!/  .ヽ ! !  2005年3月のクラブツーリズムへの攻撃あたりから有名になったのかな?
    _..-!-''--.. \ ,   l..'"'"   .,/|.! /'゙.l'./ ./
  i-''         \ .'"''- |....,,,,___ / 〃/ ./  |,゙|
  '         ''  ''''''''''''''''''''`-`-.'  '   '


           l 、
           .l l
          ,! .Y.!
        // ! .l〈 !ヽ,
        /:./ヽ/ !ヽ/ヽ!                 SQLとはStructured Query Languageの略で
        !::r⌒ヾ()r⌒:!:!                    データベースを操作するための言語のことだ
       〈:ヽ、_ノ=ヽ._ノ:〉                      このSQLはユーザーの入力フォームから入力した場合でも機能してしまう
        ヽ!/ ! M ! !/                     SQLインジェクションはこれを利用したデータベースへの攻撃だ
         .`、ヽ==/I- ̄ヽ                    これ、正面玄関から堂々と攻撃しているようなものなのでセキュリティソフトに引っ掛かりにくい
        !'"トニ‐-イ//' ̄ ̄ ̄ ̄ ヽ、          裏口の鍵を壊すなんてことはしていないからな
   -‐= ̄"\==/- ̄ヽ. !  └ーニ=ー〉
 -"`" /〟   !!    〝 !/ ̄ ̄ニ‐-./         攻撃の例を示そう
 ヽニニソ    .!!       !ェエエエ工エ            今回はパスワードなしでログインしてみる
  エエI]   /\    〟〉ヽニニニ、
r"/ ̄ミ!j  /   ヽ   /ヽ,\ニニニヽ
!( !__ミ!ヽニ〈     〉 ///./ ! !ヽ ~ヽ
ヽニニ/ \ 'ク  ┌、//_/_/.!  ヽ ~ヽ
       "Eニニニニ"二ニ==-/
        !_ 、ニー /, !
       r'r'∧}]ニ-,ー!ニ!! ̄ !
       !└Y-┘! !--‐‐‐!!  !

.





8582 : 高専ライダー ◆S2luxg9l7o : 2021/03/08(月) 17:14:57 ID:JD.OkYrs


2/5

              入力されたパスワード A
              入力されたユーザー名に対応した記録されているパスワード B (今回はpassword)

              次の等式が成り立った場合、ログイン成功
                     A=B


              //
              / /     ./|
             /   〈⌒V// |
           | |〉 / / /  |
           | |/ /  /   ∧          非常に雑だが、認証を行うための命令文だ
           |‐r‐┴、  /   / |          なんとなくわかってもらえると思う
           |‐|、__ } }  イ  ノ _
           \_,、,、〈 ニニニニニV └┘ .|    さて、いたずらの時間……の前にコメントについて解説する
     ト、        \ ノ /  ̄ ̄ ̄ / /| |\|    プログラムの中にメモ書きができる機能、と認識してくれれば良い
    r|ミ}ハ    /ニ V/ / ̄ ̄ //ニ  ニ| |    SQLの場合は、この行を以下コメントにする命令は  --  だ
.     ハ __|ハ  / / ̄ ̄/ ̄ /_| |      | |
    | |    ハ /|/   /  /| | | | | |__  _| |
    | |―――V. |    |  |_|/ ̄ゝ__] [_ノノ       ではいよいよいたずらの時間だ
         / |    |  | / ̄ ̄\    /        パスワード欄に 1=1 -- と入力してみよう
    ヽ__.〈  \    / V   / / \_.イ
     ゝ__ V  /\ /  〈__| /     .|




               /{
             / / |
              / / ]L
               / /|  |∧
         /| ,/ /} ! ⌒∧     /|
.          /::::::|/ / .| {/ _  ∧   //!              次の等式が成り立った場合、ログイン成功
         |::::: / /:/ | ∨∧ ∧__/ ./:::: |                 1=1 --=password
         |::::/ /{/ | ∨∧.  ∨ ./: : /|
         ∧:{ ∨  |:. ∨/ /  /:::::: | |              こうなる
.      /マ\ `弓!弓 ̄,/  / ::::::: | |              そして -- 以下はただのメモ書きだからコンピューターからはこう見える
.       |::::: \\厂 ̄{_ >─- 、::::::::: / .!
.       |::::::, ィ⌒ヽ[o],///////∧:::::/ .|              次の等式が成り立った場合、ログイン成功
.       |l:::j|/////}二_{////////i}::::{\_|                  1=1
.       ||::::{/////|二_∨///////:::::|  /
.       ∨.乂//_ノ`Y⌒\__.イ::::::/ ./            /     結果は言わずもがな
..         ∨ }   /厂{ ̄}_\ {:::::::{ {          /
         ∨  ∧∨ ̄\/∧ 、に二ソ        ./
        L_{L∨ ̄\/厂 \___ム      ./   __
       ___\∨ ̄}// 厂 ̄ ̄ ̄> 、/  ./二二
._     //二二寸\_,/ /二二二二二ア   /二二二
  \  //二二ニ=≦ ̄ \ム二二ニ/ ̄´ ./二二二二
    \/ {_> ´ ̄    (九}=──{ (_)  ./二二≧=─
.  /´ ̄|厂         // .::::::::::| __/二ニ イ´
 /   ./||           //       ∨ |二ニ/
./  //||          .| |        | |ニ/

.


8583 : 高専ライダー ◆S2luxg9l7o : 2021/03/08(月) 17:15:59 ID:JD.OkYrs


3/5


            ログインヨシ!
                ∧  /ヽ
               // ̄ ̄\|
               ∠_╋__〉
              / ①八① ヽ _
              工ニf(_人_)エ二|′)ヽ
              \ヽヽノノ ノ ヘ |
            ⊂⌒)_>―――′イ (_)
             `ー、_ノ/ ̄ヽ |
               _||  | |
              (  人_ノ Λ
               \ス ̄ ̄レ-Λ \
              ( ̄ ) / / \ノ\
                ̄ ̄ ( ヽ  \_)
                  \ノ
  Π l7l7  _Π_  / //
  .| .\    |_,―‐,. | 〔/ /
  .|_|\|      ,ノ ノ    /
         _ . ̄ l7l7 /  ,ィ .::::::::::::::::::::/ミ / / |__| 〈 ヽ | |
  l二 ̄|   ヽゝ /'7  7_//:::::::::;;;;;;;;;;;;/ ヽ/__/ノ .|  ヽ 7 レ
  .┌┘ |     ∠ノ    /:::::::;;;;;;;;;;/lニ\ /   |  // l       プログラム上はどこからどう見てもヨシ!
    ̄ ̄       _ l7l7 /::::::;;;;;;;;;;l二].__ \\  |  //.__ |          だから仕方がない
   Π l7l7   /,二, /   /::;;lヽ、;;;;;l/    ̄ \ヽ ヘ//;;;ヽ
   | .\    ./, 二 /   {;;;;| ノ;;;/ ,,.:::::::::::,,....ヽ,◎./;;;;;;;;;;;l           管理者権限でログインしてしまえばなんだってできる
   |_|\|   .~ /_/     ̄フ.|;;;ヽ:::::::::::::::::::::::::ノ''ー'|;;;;;;;;:;;;l         顧客情報抜き放題
                 />;;;;;\:::::::::::::::/"ー"ヽ、;;;;;ノ          書き換え放題
   Π     Π l7l7   >;;;;;;;;;;;;;;;;ノ ̄ノフ"` \/ ヽ l7             バックドア仕掛け放題
   l |     | .\    \;;;;;;;;;;/ //ト l\|ヽ/i |/ノ             マルウェア仕掛け放題
   |_l     |_|\|   トー-┬\ \  | \/ヽ_///            偽サイトへの誘導も楽々だ
               | ̄''=/ニヽ\ \l____ ノヽ、//
  l二l ,-,  l二l ,-,   i    .゙'-」|,, "─,,___/
    ∠ノ    ∠ノ   {
. n. n. n        l
  |!  |!  |!        l
  o  o  o      ,へ l

.


8585 : 高専ライダー ◆S2luxg9l7o : 2021/03/08(月) 17:17:12 ID:JD.OkYrs


4/5

            ,r '/
           / /,'
             / l :l     , r"l
          /  .| ヘ`ヽ//ハ
          |  ',   〉' / /  |
          |   〉'´./  ./  .ト
         l|   |_|   /   .| |             |ヽ、
         .ト、r': : : ´ヽ ',   / |             /  〉、
         l: :', ',: : : : : : | ', ./   l            /   l ヘ
         ヘ,_l ゝ、_丿 '‐'`-‐'´|`ヽ、_, -─┬一 /   |.  ヘ
           ヽ' ミヾ/ヽ---─''"´\ /|_/ ヘ  ヘ_, r'" , r' \  |      で、対策なんだが
            ヽヾ/  /      |    ∧  , r'" \ ,/ヽ,|      この場合 - の文字を使用禁止
             Γ゙一'      r'  ̄ ̄ ̄ヘ  \\, ' _ /        ついでに入力不可能にしてしまうのが手っ取り早い
  lヽ       /"´l__|`i '- 、__, r'"       ヘ   ̄ , r",、            これ以外の攻撃に使われるような記号も同じくだ
  | \    ,r' " |  ',_/      ヘ         ヘ_/  / ヽ
  ト 、 \'__ノ   ',        /`ヽ、       ヘ   /  ∧       一部の記号がパスワードやユーザー名に使えない
  |  `l────┐ ',       /, lヘ ヾヘ、   /ヘ, ノ   .∧        そんな経験があると思う
  \  .| | | | | |   ',       ./ | ヘ| ∨|  ヘ, r'"  |      ∧      それ、SQLインジェクション対策だったりする
   \ T ̄二二二, r '"∨   / ゝ,    'l   /    /ヽ___/  , 、   (あとは見間違えによる ふっかつのじゅもんがちがいます 対策)
     \/´   |` ヽ、 入_  ./   ヘ   / /    / /、  ,二l "´,、〉
          ',    `ヘ l`' `゙ ー 、 `二, / '─- 〈 /  ` /  l'二 /
           ',    ',. \   /          /   /   `/ /    電話番号入力欄は半角数字以外入力不可
           ',   r'" / ̄`゙ヾ、┌────┐ _/'ー 、./    ./ /     なども同様の理由だな
            \   /_  r'"ヽ.|   /\   .l 〈_  /     / /
            r-一'"__ `゙/ヽ、\ ヘ  /  .|‐/ `/     / /
           | l" ´  /  | / ヽ `/´`/‐-< ,-‐〈 `` 、/ /


           ゚  。 {    { ゚ 。ヾ   ‘,、  `ヽ ゚ ,ノ ゜
       ゚。      ',    ',   }.   }! Y    ',Y   。゚   ’
.           \    ヘ   ヘ ゜,'   リ }!   }!.      ,, /
         \\  。 ヾ   ', /   ,イ ./    从     ,イ/
           \ \   ',、  }   ,'. , '/.   ,イ ハ.  //         入力できるサイトは対策をしていない……とも限らない
         。  \ `.-、 }l`V   i{/ 〃 / ,イ //  ゚。        例えば - を minus に入力した時に置き換える仕組みを入れてもいいし
              \ `' ノ   八.    、丶` /             入力された文字列が命令文としては
   ,             ッ \                /  。                認識されなくなるように設定することもできる(プレースホルダ)
               ____Z                 ̄'''―--z__
.  ──==二二二__.       r‐┐        r────────  ほかには
            _.;;彡-ッ     ,イ::::ミ       ,,,,、 \                入力フォームを用途以外の目的で使えないように設定
              '"´  / ,.. /  /⌒}     \¨''ーニ;;、、          ユーザー名を入力する場所ではユーザー名一覧以外へのアクセスは必要ない
            ,.;;ン‐″./  //⌒}   !l>、.  \    ´
          ,..广   ./.,v. / /V=ミ   l `'-、. `'-,.,
.          "     .,j./  //:::::|{::ク⌒ヽ..l  .  `'-、\
              〃  i..|::::::::::/  ∨⌒∨       `'''ヾ、
                 ,i'゚    /::::::::::',  _,,>ミ::∨       ゚' ,       侵入された後の操作を監視する
                l′.   |:::::::::::::|,ィア / ヘ:::∨                  顧客情報を全部ダウンロード、なんて動作は普段はやらないからな
                   ハ:::::::::::::|/_ハ./ __}::::|
                    | |::::::::::: |廴〉,―v'}::::|
                  ヘ〉:::::::::/┐_/ァ彳:::::,'                 最後、システムメッセージの工夫だ
                    |乂::ノ \:::::/ヽ:::/                   例えばユーザー名が正解、パスワードが違う状況なら
                    |/ |    〕〔    |                   パスワードが違います
                 ヘ /\/  \_,イ                       パスワードとユーザー名を確認してください
                     ヘ  /     ', |                     この二つなら下がいい
                        ヘ_ヽ___.//                    上だとユーザー名が正解であることを知られてしまう
                         ',::::::::::::::::::::::::|                   攻撃者に余計な情報を与えてはいけない
                     _|::::::::::::::::::::::::|__
                    | [[[[[[| △ ]] |
                    ̄:::::::::::::::::::::::::::ヘ
                     /::::::::::::::::::::::::::::::::::',
                      /::::::::::::::::ヽ::::::::/::::::::ヽ

.


8586 : 高専ライダー ◆S2luxg9l7o : 2021/03/08(月) 17:17:47 ID:JD.OkYrs


5/5

.          ∧
.           /|ハ ̄ `ヽ
         / .! .∧::::::::∧
      ___| |  ∧::::::::∧_          こんなところかな
.     / 厂 |\ /⌒ヽ::::://\_     自分は自分で組んだ奴に試したことがあるぐらいです(楽しかった)
 、 _ ─ r─ -、.}={///ノ/ム二二二≧_  torさん、プロキシさん、VPNさん、匿名の力お借りします、なんてやってません
  \   |  / \Z彡「 ̄/::::::::::::::::::::} .}  ネカフェの端末にバックドア仕掛けたこともありません
.\  \ .| /_ /\ ̄} ̄ }:::::::::::::::::/./   個人情報の販路持ってないし
__フ、 /⌒ヽ ____,} .|  .|:::::::::::::::::{/
__ ィ{二ニ= Y ̄\ |__,|_,|___/
.  / .||___/ ̄ ̄\.\\ ̄             あ、犯罪だから絶対にやるなよ
 /   .|   |\___〉/〈 \             推奨しているわけでもないぞ
.〈__|__|_>一 ´___
            人LL[〈 〉 |}
        /  \─一 '
       /       У /


おしまい


8587 : 高専ライダー ◆S2luxg9l7o : 2021/03/08(月) 17:18:47 ID:JD.OkYrs

以上です
私は断じて他人のシステムを攻撃したことはございません


8589 : 尋常な名無しさん : 2021/03/08(月) 17:22:28 ID:y9Xpta9k

乙でした

2005年だったかは忘れましたが、業務で対策しました
初期だったので自分たちでサニタイジングするための関数作って、全クエリを一つ一つ見直して実装という……
もう、あれはやりたくない (プログラミング言語の方で対策できる記述方法がありますので、今はそちらを使いますね)


8593 : 高専ライダー ◆S2luxg9l7o : 2021/03/08(月) 17:31:11 ID:JD.OkYrs

>>8589
初期に対応した方が居たとは……


8590 : 尋常な名無しさん : 2021/03/08(月) 17:25:01 ID:Le8C5rqM

乙でした


8592 : 尋常な名無しさん : 2021/03/08(月) 17:30:45 ID:iyskv5B.

乙でした

一番影響があった悪戯は、モバイルでサイトを開くとシャッター音がなるコードでしたね
あとは、パスワードかけ忘れた家庭用Wi-Fiの振りして、アクセス解析なんてのもやりました
大学のセキュリティ研究ネタ有る有るですが


8596 : 尋常な名無しさん : 2021/03/08(月) 18:00:10 ID:/xr/UONI

投稿乙でした。
>>8585 の「プレースホルダ」でHTML技術の方を思い出してあれ? ってなった(恥晒し)
そうだよね、SQLでの置換技術の名称もプレースホルダだもんね……


8598 : 尋常な名無しさん : 2021/03/08(月) 18:29:28 ID:.KGczskI



>>8585
> システムメッセージの工夫
これやってもSLEEP()とか使えばレスポンスまでの時間でインジェクトした条件式が正しいか判定できたりするんだよね
結局脆弱性がある時点でダメってことだな!


関連記事
[ 2021/03/10 03:21 ] 語り人総合 読者投稿 | TB(0) | CM(3)



以上の内容はhttps://yaruonichijou.blog.fc2.com/blog-entry-50318.htmlより取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.13