@@ -286,7 +286,7 @@ public void HttpDownloadFile(string url, string path)
286286 responseStream . Close ( ) ;
287287 }
288288
289- public static int version = 20200209 ;
289+ public static int version = 20200527 ;
290290 public static string versionURL = "http://www.shack2.org/soft/getNewVersion?ENNAME=SSuperSQLInjection&NO=" + URLEncode . UrlEncode ( Tools . getSystemSid ( ) ) + "&VERSION=" + version ;
291291 //检查更新
292292 public void checkUpdate ( )
@@ -792,10 +792,8 @@ private void StopThread()
792792 this . txt_log . Invoke ( new showLogDelegate ( log ) , "发出停止线程信号!" , LogLevel . info ) ;
793793 stp . Cancel ( ) ;
794794 this . currentThread . Abort ( ) ;
795-
796795 }
797796 status = 0 ;
798-
799797 }
800798
801799 public void getVariablesByUnion ( DBType dbType )
@@ -2710,11 +2708,9 @@ public int getValue(String payLoadStr, int start, int end)
27102708 {
27112709 //2分法获取中间数字
27122710 mid = Tools . getLargeNum ( start , end ) ;
2713-
27142711 payload = ByPassForBetween ( payLoadStr , mid ) ;
27152712 ServerInfo server = HTTP . sendRequestRetry ( config . useSSL , config . reTry , config . domain , config . port , payload , config . request , config . timeOut , config . encoding , config . is_foward_302 , config . redirectDoGet ) ;
27162713 Boolean exists = Tools . isTrue ( server , config . key , config . reverseKey , config . keyType , config . injectHTTPCode ) ;
2717-
27182714 if ( end == start )
27192715 {
27202716 if ( exists )
@@ -2723,9 +2719,7 @@ public int getValue(String payLoadStr, int start, int end)
27232719 }
27242720 else
27252721 {
2726-
27272722 return end ;
2728-
27292723 }
27302724 }
27312725 if ( exists )
@@ -5141,47 +5135,21 @@ public void getDataValueByBoolByMySQL(Object opam)
51415135 String va_payload = MySQL . ver_value . Replace ( "{data}" , data_payload ) ;
51425136 String colvalue = "" ;
51435137
5144- //获取值
51455138 for ( int i = 1 ; i <= len ; i ++ )
51465139 {
5147- String tmp_va_payload = MySQL . ord_value . Replace ( "{data}" , data_payload ) . Replace ( "{index}" , i + "" ) ;
5148- String plen = MySQL . ver_length . Replace ( "{data}" , tmp_va_payload ) ;
5149- int mu_payload_len = 0 ;
5150- //MySQL多字节ord,先判断ord后的长度,在取每一个的值
5140+ String tmp_va_payload = va_payload . Replace ( "{index}" , i + "" ) ;
5141+ int ascii = 0 ;
51515142 if ( config . keyType . Equals ( KeyType . Time ) )
51525143 {
5153- mu_payload_len = getValue ( MySQL . getBoolDataBySleep ( MySQL . char_len . Replace ( "{data}" , tmp_va_payload ) , config . maxTime ) , 2 , 8 ) ;
5144+ ascii = getValue ( tmp_va_payload , 0 , 127 ) ;
51545145 }
51555146 else
51565147 {
5157- mu_payload_len = getValue ( plen , 2 , 8 ) ;
5148+ ascii = getValue ( tmp_va_payload , 0 , 127 ) ;
51585149 }
5159-
5160- //判断ord转换后的字符长度
5161-
5162- int m_index = 1 ;
5163- String [ ] ver_tmp = new String [ mu_payload_len ] ;
5164- while ( m_index <= mu_payload_len )
5165- {
5166-
5167- int ascii = 0 ;
5168- if ( config . keyType . Equals ( KeyType . Time ) )
5169- {
5170- ascii = getValue ( MySQL . getBoolDataBySleep ( MySQL . mid_value . Replace ( "{data}" , tmp_va_payload ) . Replace ( "{index}" , m_index + "" ) , config . maxTime ) , 0 , 9 ) ;
5171- }
5172- else
5173- {
5174- ascii = getValue ( MySQL . bool_ord_value . Replace ( "{data}" , tmp_va_payload ) . Replace ( "{index}" , m_index + "" ) , 0 , 9 ) ;
5175- }
5176- ver_tmp [ m_index - 1 ] = ascii + "" ;
5177- m_index ++ ;
5178- }
5179- //设置值,这里由于是hex值,需要转换
5180- String hexstring = Tools . convertToString ( ver_tmp ) ;
5181- String hexvalue = Convert . ToString ( int . Parse ( hexstring ) , 16 ) ;
5182- colvalue += Tools . unHex ( hexvalue , config . db_encoding ) ;
5183-
5150+ colvalue += ( ( char ) ascii ) . ToString ( ) ;
51845151 }
5152+
51855153 if ( lvi == null )
51865154 {
51875155 lvi = new ListViewItem ( colvalue ) ;
@@ -6043,6 +6011,7 @@ public void getDataValueByErrorBySQLServer(Object opam)
60436011 GetDataPam gp = ( GetDataPam ) opam ;
60446012 ListViewItem lvi = new ListViewItem ( ) ;
60456013 String result = getOneDataByUnionOrError ( SQLServer . getErrorDataValue ( gp . dbname , gp . table , gp . limit , gp . columns ) ) ;
6014+
60466015 result = HttpUtility . HtmlDecode ( result ) ;
60476016 //数结果改成xml格式,单独解析
60486017 addItemToListViewBySQLServerXMLData ( result , gp . columns ) ;
@@ -10804,7 +10773,15 @@ private void btn_inject_setTokenLocation_Click(object sender, EventArgs e)
1080410773
1080510774 private void btn_inject_randStr_Click ( object sender , EventArgs e )
1080610775 {
10807- this . txt_inject_request . SelectedText = "<Rand>" + this . txt_inject_request . SelectedText + "</Rand>" ;
10776+ if ( this . txt_inject_request . SelectedText . Length > 0 )
10777+ {
10778+ this . txt_inject_request . SelectedText = "<Rand>" + this . txt_inject_request . SelectedText + "</Rand>" ;
10779+
10780+ }
10781+ if ( this . txt_sencond_request . SelectedText . Length > 0 )
10782+ {
10783+ this . txt_sencond_request . SelectedText = "<Rand>" + this . txt_sencond_request . SelectedText + "</Rand>" ;
10784+ }
1080810785 }
1080910786
1081010787 private void txt_sencond_request_TextChanged ( object sender , EventArgs e )
0 commit comments