@@ -150,7 +150,7 @@ private void addDBSToItems()
150150
151151 private void Main_Shown ( object sender , EventArgs e )
152152 {
153- HTTP . initMain ( this ) ;
153+
154154 //添加支持注入的数据库列表
155155 addDBSToItems ( ) ;
156156 //清空日志
@@ -209,7 +209,7 @@ private void Main_Shown(object sender, EventArgs e)
209209 {
210210 Tools . SysLog ( "加载配置发生错误!" + ex . Message ) ;
211211 }
212-
212+ HTTP . initMain ( this ) ;
213213 InjectionTools . addErrorCode ( ) ;
214214 //读取模板
215215 List < String > templates = FileTool . readAllDic ( "/config/template/" ) ;
@@ -286,7 +286,7 @@ public void HttpDownloadFile(string url, string path)
286286 responseStream . Close ( ) ;
287287 }
288288
289- public static int version = 20190905 ;
289+ public static int version = 20191212 ;
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 ( )
@@ -1465,7 +1465,7 @@ public void addItemToListViewBySQLServerXMLData(String xmldata, List<String> col
14651465
14661466 public void addItemToListViewByColumns ( String colvs )
14671467 {
1468- addItemToListViewByColumns ( colvs , " \\ $ \\ $ \\ $" ) ;
1468+ addItemToListViewByColumns ( colvs , Comm . COLUMNS_REG_SPLIT_STR ) ;
14691469 }
14701470
14711471 public void addItemToListViewByColumnsInformix ( String colvs )
@@ -5781,7 +5781,7 @@ public void getDataValueByUnionByMySQL(Object opam)
57815781 String result = getOneDataByUnionOrError ( MySQL . union_value . Replace ( "{data}" , datas_value_payload ) ) ;
57825782
57835783 this . txt_log . Invoke ( new showLogDelegate ( log ) , "报告大侠,获取到第" + ( gp . limit + 1 ) + "行数据" , LogLevel . info ) ;
5784- String [ ] datas = Regex . Split ( result , " \\ $ \\ $ \\ $" ) ;
5784+ String [ ] datas = Regex . Split ( result , Comm . COLUMNS_REG_SPLIT_STR ) ;
57855785 addItemToListView ( datas ) ;
57865786
57875787 }
@@ -6007,7 +6007,7 @@ public void getDataValueByErrorByMySQL(Object opam)
60076007
60086008 result = Tools . unHex ( result , "UTF-8" ) ;
60096009
6010- String [ ] items = Regex . Split ( result , " \\ $ \\ $ \\ $" ) ;
6010+ String [ ] items = Regex . Split ( result , Comm . COLUMNS_REG_SPLIT_STR ) ;
60116011 ListViewItem lvi = null ;
60126012 foreach ( String item in items )
60136013 {
@@ -8193,9 +8193,16 @@ public void reloadConfig(Config config)
81938193 //二次注入
81948194 this . txt_sencond_request . Text = config . sencondRequest ;
81958195
8196+ //加载重试发包key
8197+ if ( config . retryKey != null ) {
8198+ String [ ] keys = config . retryKey . Split ( ',' ) ;
8199+ foreach ( String key in keys )
8200+ {
8201+ this . lbx_retry_sendKey . Items . Add ( key ) ;
8202+ }
8203+ }
81968204
81978205 //file
8198-
81998206 this . cbox_file_readFileEncoding . Text = config . readFileEncoding ;
82008207
82018208 //cmd
@@ -8563,7 +8570,7 @@ public void readOrWriteFile()
85638570 if ( ! String . IsNullOrEmpty ( this . file_txt_result . Text ) )
85648571 {
85658572 String payload = SQLServer . witeFileByFileSystemObject . Replace ( "{path}" , Tools . strToHex ( path , "GB2312" ) ) . Replace ( "{data}" , Tools . strToHex ( this . file_txt_result . Text , "GB2312" ) ) ;
8566- if ( config . keyType . Equals ( KeyType . Time ) )
8573+ if ( config . keyType . Equals ( KeyType . Time ) && config . injectType . Equals ( InjectType . Blind ) )
85678574 {
85688575 payload = payload . Replace ( " 1=1;" , ";" ) ;
85698576 }
@@ -8582,7 +8589,7 @@ public void readOrWriteFile()
85828589 if ( ! String . IsNullOrEmpty ( this . file_txt_result . Text ) )
85838590 {
85848591 String payload = SQLServer . witeFileBySP_MakeWebTask . Replace ( "{path}" , Tools . strToHex ( path , "GB2312" ) ) . Replace ( "{data}" , Tools . strToHex ( this . file_txt_result . Text , "GB2312" ) ) ;
8585- if ( config . keyType . Equals ( KeyType . Time ) )
8592+ if ( config . keyType . Equals ( KeyType . Time ) && config . injectType . Equals ( InjectType . Blind ) )
85868593 {
85878594 payload = payload . Replace ( " 1=1;" , ";" ) ;
85888595 }
@@ -8605,7 +8612,7 @@ public void readOrWriteFile()
86058612 String dropWriteFileBackUpTableAndDropDB = SQLServer . dropWriteFileBackUpTableAndDropDB ;
86068613 String createWriteFileBackUpDB = SQLServer . createWriteFileBackUpDB ;
86078614 String createWriteFileBackUpTable = SQLServer . createWriteFileBackUpTable ;
8608- if ( config . keyType . Equals ( KeyType . Time ) )
8615+ if ( config . keyType . Equals ( KeyType . Time ) && config . injectType . Equals ( InjectType . Blind ) )
86098616 {
86108617 payload = payload . Replace ( " 1=1;" , ";" ) ;
86118618 dropWriteFileBackUpTableAndDropDB = dropWriteFileBackUpTableAndDropDB . Replace ( " 1=1;" , ";" ) ;
@@ -8638,7 +8645,7 @@ public void readOrWriteFile()
86388645 //filesystemobject读文件
86398646 String payload = SQLServer . readFileByFileSystemobject . Replace ( "{path}" , path ) ;
86408647 String dropTable = SQLServer . dropTable ;
8641- if ( config . keyType . Equals ( KeyType . Time ) )
8648+ if ( config . keyType . Equals ( KeyType . Time ) && config . injectType . Equals ( InjectType . Blind ) )
86428649 {
86438650 payload = payload . Replace ( " 1=1;" , ";" ) ;
86448651 dropTable = dropTable . Replace ( " 1=1;" , ";" ) ;
@@ -10583,7 +10590,7 @@ private void tsmi_clearColumns_Click(object sender, EventArgs e)
1058310590
1058410591 private void tsmi_bugReport_Click ( object sender , EventArgs e )
1058510592 {
10586- MessageBox . Show ( "邮箱反馈:1341413415@qq.com\r \n QQ群反馈:84978967 " ) ;
10593+ MessageBox . Show ( "邮箱反馈:1341413415@qq.com" ) ;
1058710594 }
1058810595
1058910596 private void data_dbs_cob_db_encoding_TextChanged ( object sender , EventArgs e )
@@ -11522,6 +11529,45 @@ private void toolStrip_vers_btn_selectReverse_Click(object sender, EventArgs e)
1152211529 {
1152311530 SelectReversNodes ( this . data_lvw_ver ) ;
1152411531 }
11532+
11533+ private void btn_retry_addKey_Click ( object sender , EventArgs e )
11534+ {
11535+ String key = this . txt_retry_key . Text ;
11536+ if ( key . Length <= 0 ) {
11537+ MessageBox . Show ( "输入重试关键词!" ) ;
11538+ return ;
11539+ }
11540+ if ( this . lbx_retry_sendKey . Items . Contains ( key ) ) {
11541+ MessageBox . Show ( "关键词已经在列表中!" ) ;
11542+ return ;
11543+ }
11544+ this . lbx_retry_sendKey . Items . Add ( key ) ;
11545+ resetRetryKeys ( ) ;
11546+ }
11547+
11548+ private void resetRetryKeys ( )
11549+ {
11550+
11551+ StringBuilder sb = new StringBuilder ( ) ;
11552+ foreach ( String ikey in this . lbx_retry_sendKey . Items )
11553+ {
11554+ sb . Append ( ikey + "," ) ;
11555+ }
11556+ if ( this . lbx_retry_sendKey . Items . Count > 0 )
11557+ {
11558+ String allkeys = sb . Remove ( sb . Length - 1 , 1 ) . ToString ( ) ;
11559+ config . retryKey = allkeys ;
11560+ }
11561+ }
11562+
11563+ private void cms_delRetryKey_Click ( object sender , EventArgs e )
11564+ {
11565+ if ( this . lbx_retry_sendKey . SelectedItems . Count > 0 ) {
11566+ this . lbx_retry_sendKey . Items . Remove ( this . lbx_retry_sendKey . SelectedItems [ 0 ] ) ;
11567+ resetRetryKeys ( ) ;
11568+ MessageBox . Show ( "删除成功!" ) ;
11569+ }
11570+ }
1152511571 }
1152611572
1152711573}
0 commit comments