sql注入入門必見!文字型注入かデジタル型注入かをすばやく判断する文章
文字型注入とデジタル型注入の和の違い
私個人の理解では、この2つの違いは、あなたがクエリーしたデータ型が異なり、データ型が異なると、構築する必要がある注入文が異なることです.
ディジタルインジェクション
デジタル型注入であれば、簡単な論理等式で判断し、文を構築することができますか?id=1 and 1=1と?id=1 and 1=2 . このように構成すると、バックグラウンドで実際にSQL文がどのように使われているかを見てみましょう.
もじがたちゅうにゅう
文字型注入であればSQL文は上の文で構築できますか?明らかにだめです.上の構造方法でバックグラウンドがそうであるべきです.
構造を試してみましょう:?id=1’and‘1’=1’と?id=1’and‘1’='2、このような目的は何ですか?バックグラウンドで実行される文がどのような
上の2つの文を分析すると、文字型入力は一重引用符で囲む必要があるので、このような構成で文字型注入かどうかを判断し、文字型注入であれば1つ目の文のページが正常に戻るべき(論理永真)、2つ目のページが正常に戻るべきではない(論理判断は偽)
hm......何か言い間違えたり気づかなかったりしたらオノを歓迎!
私個人の理解では、この2つの違いは、あなたがクエリーしたデータ型が異なり、データ型が異なると、構築する必要がある注入文が異なることです.
ディジタルインジェクション
デジタル型注入であれば、簡単な論理等式で判断し、文を構築することができますか?id=1 and 1=1と?id=1 and 1=2 . このように構成すると、バックグラウンドで実際にSQL文がどのように使われているかを見てみましょう.
select * from table_name where id=1 and 1=1
select * from table_name where id=1 and 1=2
最初の文は永真式なので、ページが正常に戻り、2番目が永偽なのでページが正常に戻りません.もじがたちゅうにゅう
文字型注入であればSQL文は上の文で構築できますか?明らかにだめです.上の構造方法でバックグラウンドがそうであるべきです.
select * from table_name where id='1 and 1=2'
では1 and 1=2が文字列になり、論理的な判断ができません.構造を試してみましょう:?id=1’and‘1’=1’と?id=1’and‘1’='2、このような目的は何ですか?バックグラウンドで実行される文がどのような
select *from table_name where id ='1' and '1'='1'
select *from table_name where id ='1' and '1'='2'
であるべきかを見てみましょう.上の2つの文を分析すると、文字型入力は一重引用符で囲む必要があるので、このような構成で文字型注入かどうかを判断し、文字型注入であれば1つ目の文のページが正常に戻るべき(論理永真)、2つ目のページが正常に戻るべきではない(論理判断は偽)
hm......何か言い間違えたり気づかなかったりしたらオノを歓迎!