Esempio n. 1
0
        public static void InsertVulnData(Vuln vuln)
        {
            /*
             * DB에 취약점 데이터가 이미 있는지 검사해야함
             *
             */

            Conn.Open();
        }
Esempio n. 2
0
        public static void InsertVulnData(Vuln vuln)
        {
            String       sql = string.Empty;
            MySqlCommand cmd = null;

            // vulnId setting  (마지막 vulnId +1)
            int last_vulnId = 1;

            try
            {
                sql         = "select max(vulnId) from vulnInfo";
                cmd         = new MySqlCommand(sql, Conn);
                last_vulnId = (Convert.ToInt32(cmd.ExecuteScalar())) + 1;
            }
            catch (Exception)
            {
                last_vulnId = 1;
            }

Retry:

            //DB insert
            try
            {
                sql = "INSERT INTO vulnInfo(vulnId, lenBlock, cve, funcName, numBlock, codeOriBefore, codeOriAfter, codeAbsBefore, codeAbsAfter, blockHash) " +
                      $"VALUES({last_vulnId}, {vuln.LenBlock}, '{vuln.Cve}', '{vuln.FuncName}', {vuln.NumBlock}, '{vuln.CodeOriBefore}', '{vuln.CodeOriAfter}', '{vuln.CodeAbsBefore}', '{vuln.CodeAbsAfter}', '{vuln.BlockHash}')";
                Console.WriteLine(sql);
                cmd = new MySqlCommand(sql, Conn);
                cmd.ExecuteNonQuery();
            }
            catch (Exception e)
            {
                Console.WriteLine(e.ToString());
                string es = e.ToString();
                if (es.Contains("Connection must be valid and open"))
                {
                    Connect(Account, DbName);
                    goto Retry;
                }
                Console.ReadLine();
            }
        }