Microsoft Word - MS-SQL injections 공격 대처하기.doc

Size: px
Start display at page:

Download "Microsoft Word - MS-SQL injections 공격 대처하기.doc"

Transcription

1 작성자 : 기술지원부조태준 tedcho@nextline.net MS-SQL Database 백업하기 ASP.NET 및 Microsoft SQL Server과같은강력한데이터베이스서버의고급서버측기술을통해개발자는동적인데이터중심웹사이트를매우쉽게만들수있습니다. 하지만 ASP.NET 및 SQL의기능은 SQL injections 공격이라는너무나일반적인공격방식을알고있는해커들에게도쉽게악용될수있습니다. SQL injections 공격에대한기본개념은다음과같습니다. 사용자가텍스트상자에텍스트를입력할수있도록웹페이지를만들고이러한텍스트는데이터베이스에대한쿼리를수행하는데사용됩니다. 해커는이러한텍스트상자에쿼리의특성을변경하여백엔드데이터베이스에침입하거나데이터베이스를손상시킬수있는잘못형성된 SQL 문을입력합니다. 1. SQL 문의변환여러 ASP.NET 응용프로그램에서는아래와같이표시된것과같은폼을사용하여사용자를인증합니다. private void cmdlogin_click(object sender, System.EventArgs e) { string strcnx = "server=localhost;database=northwind;uid=sa;pwd=;"; SqlConnection cnx = new SqlConnection(strCnx); cnx.open(); //This code is susceptible to SQL injection attacks. string strqry = "SELECT Count(*) FROM Users WHERE UserName='" + txtuser.text + "' AND Password='" + txtpassword.text + "'"; int intrecs; SqlCommand cmd = new SqlCommand(strQry, cnx); intrecs = (int) cmd.executescalar(); if (intrecs>0) { FormsAuthentication.RedirectFromLoginPage(txtUser.Text, false); else { lblmsg.text = "Login attempt failed."; cnx.close(); 표 1

2 사용자가 BadLogin.aspx의 Login 단추를클릭하면사용자가폼의텍스트상자컨트롤에입력한값과 UserName 및 Password가일치하는 Users 테이블에있는레코드수를계산하는쿼리를실행하여 cmdlogin_click 메서드가사용자를인증하도록시도합니다. 대부분의경우폼은정확히의도된대로작동합니다. 사용자는 Users 테이블에있는레코드와일치하는사용자이름및암호를입력합니다. 동적으로생성된 SQL 쿼리를사용하여일치하는행의개수를검색합니다. 그런다음사용자를인증하고요청된페이지로리디렉션합니다. 잘못된사용자이름및암호를입력하는사용자는인증되지않습니다. 하지만이경우에도해커가 UserName 텍스트상자에겉보기에는잘못된것이없는다음과같은텍스트를입력하여유효한사용자이름및암호를알지못하더라고시스템에침입할수있습니다. Or 1=1 --해커는잘못형성된 SQL을쿼리에주입하여시스템에침입합니다. 이경우의해킹은다음과같이사용자가입력한고정문자열및값의연결을통해실행쿼리가형성되기때문에작동됩니다. String strqry = SELECT Count(*) FROM Users WHERE USerName= + txtuser.text + AND PassWord= + txtpassword.text + ; 유효한사용자이름인 Paul 과암호 password 를사용자가입력하는경우 strqry는다음과같이됩니다. SELECT Count(*) FROM Users WHERE UserName= Paul AND Password= password 하지만해커가다음을입력하면 Or 1=1 쿼리가다음과같이되니다. SELECT Cont(*) FROM Users WHERE UserName= Or 1=1 AND Password= 이중하이픈은 SQL 에서주석의시작부분을나타내므로쿼리는다음과같이됩니다. SELECT Count (*) FROM Users WHERE UserName= Or 1=1 식 1=1은테이블의모든행에대해항상 True이고다른식이포함된 True 식 or d는항상 0 이아님레코드개수를반환합니다. 일부 SQL injections 공격에는폼인증이포함되지않습니다. 폼인증과관련한 SQL injections 공격에필요한사항은동적으로구성된일부 SQL과트러스트되지않은사용자입력이있는응용프로그램입니다. 정확한조건만주어진다면이러한공격으로인한피해범위를해커의 SQL 언어및데이터베이스구성에대한지식수준으로만제한할수있습니다. 이제 badproductlist.aspx에서가져온아래 표2 에표시된코드를살펴보시면, 이페이지는 Northwind 데이터베이스의제품을표시하고사용자가 txtfilter라는텍스트상자를사용하여제품결과목록을필터링하도록할수있습니다. 마지막예에서와같이이페이지는실행 SQL이사용자가입력하는값으로동적으로생성되기때문에 SQL injections 공격에당할가능성이높습니다. 이러한특정페이지는약삭빠른해커가공격하여기밀정보를훔치고, 데이터베이스의데이터를변경하고, 데이터베이스레코드를손상시키고, 심지어는새로운데이터베이스사용자계정을만들수도있기때문에해커에게는천국과도같습니다. SQL Server를포함한대부분의 SQL 호환데이터베이스는메타데이터를 sysobjects, syscolumns, sysindexes 등의이름으로일련의시스템테이블에저장합니다. 즉, 해커는이러한시스템테이블을사용하여데이터베이스에대한스키마정보를확신하고추가적인데이터베이스손상을위한도움을얻을수있습니다. 예를들어다음과같이 txtfilter 텍스트상자에입력된텍스트는데이터베이스에서사용자테이블의이름을확인하는데사용될수있습니다. ' UNION SELECT id, name, '', 0 FROM sysobjects WHERE xtype ='U' --

3 private void cmdfilter_click(object sender, System.EventArgs e) { dgrproducts.currentpageindex = 0; binddatagrid(); private void binddatagrid() { dgrproducts.datasource = createdataview(); dgrproducts.databind(); private DataView createdataview() { string strcnx = "server=localhost;uid=sa;pwd=;database=northwind;"; string strsql = "SELECT ProductId, ProductName, " + "QuantityPerUnit, UnitPrice FROM Products"; //This code is susceptible to SQL injection attacks. if (txtfilter.text.length > 0) { strsql += " WHERE ProductName LIKE '" + txtfilter.text + "'"; SqlConnection cnx = new SqlConnection(strCnx); SqlDataAdapter sda = new SqlDataAdapter(strSQL, cnx); DataTable dtproducts = new DataTable(); sda.fill(dtproducts); return dtproducts.defaultview; 표 2 UNION 문은해커가한쿼리의결과를다른쿼리로분할할수있도록하기때문에해커에게특히유용합니다. 이러한경우해커는데이터베이스의사용자테이블이름을제품테이블의원래쿼리로분할합니다. 여기에사용된방법은단지열의개수와데이터형식을원래의쿼리와일치시키는것뿐입니다. 이전쿼리는 Users라는테이블이데이터베이스에있음을나타낼수있습니다. 두번째쿼리는 Users 테이블에있는열을노출시킬수있습니다. 해커는이러한정보를사용하여 txtfilter 텍스트상자에다음을입력할수있습니다. ' UNION SELECT 0, UserName, Password, 0 FROM Users -- 이쿼리를입력하면아래그림 1과같이 Users 테이블에있는사용자이름및암호를노출시킵니다.

4 그림 1 SQL injections 공격은또한데이터를변경하거나데이터베이스를손상시키는데에도사용될수있습니다. SQL injections 해커는 txtfilter 텍스트상자에다음을입력하여첫번째제품의가격을 $18에서 $0.01로바꾸고이러한사실을다른사람이눈치채기전에일부제품을재빠르게구매할수있습니다. '; UPDATE Products SET UnitPrice = 0.01 WHERE ProductId = 1-- 이러한해킹은 SQL Server에서세미콜론이나공백을사용하여구분된여러 SQL 문을함께입력할수있도록허용하기때문에가능합니다. 이예에서 DataGrid는아무것도표시하지않지만업데이트쿼리는성공적으로실행됩니다. 이러한같은기술을사용하면 DROP TABLE 문을실행하거나새로운사용자계정을만들고이사용자를 sysadmin 역할에추가하는시스템저장프로시저를실행할수도있습니다. 이러한해킹은모두 표 2 에표시된 BadProductList.aspx 페이지를사용하여가능합니다. 2. 동일한해킹기회 SQL injections 공격은 SQL Server에만국한된문제가아닙니다. Oracle, MySQL, DB2, Sybase 등의다른데이터베이스에서도이러한종류의공격을받을수있습니다. SQL injections 공격은 SQL 언어에다음과같이강력하고유연한여러기능이포함되어있기때문에가능합니다. 이중하이픈을사용하여 SQL 문에주석을포함시킬수있는기능 여러 SQL 문을함께입력하고이를일괄처리로실행할수있는기능 SQL을사용하여표준시스템테이블집합으로부터메타데이터를쿼리할수있는기능 일반적으로데이터베이스에서지원되는 SQL 언어의기능이강력할수록데이터베이스에대한공격가능성도높아집니다. 따라서 SQL Server가 injections 공격의일반적인대상이되는것입니다. SQL injections 공격은 ASP.NET 응용프로그램으로만제한되지않습니다. 기존의 ASP, Java, JSP 및 PHP 응용프로그램도모두같은위험이있습니다. 실제로 SQL injections 공격은데스크톱응용프로그램에대해서도수행될수있습니다. 예를들어이문서에대한다운로드파일 ( 이문서의맨위에있는링크로제공 ) 에 SQL injections 공격을받을수있는

5 SQLInjectWinForm이라는 Windows Forms 응용프로그램예제를포함되어있습니다. SQL injections 공격방지를위한한두개의핵심방법을쉽게설명할수도있지만이문제에대해서는계층적방식을사용하는것이가장좋습니다. 이러한방식에서는일부취약성으로인해보안방식중하나가무효화되더라도계속해서보호상태를유지할수있습니다. 권장되는계층은아래그림과같습니다. 그림 2 3. 모든입력에대한검사수행위그림에나열된첫번째원칙은매우중요한것입니다. 모든사용자입력은악의적인것으로간주하십시오! 데이터베이스쿼리에서검사되지않은사용자입력을사용해서는안됩니다. 특히 RegularExpressionValidator 컨트롤과같은 ASP.NET 유효성검사컨트롤은사용자입력의유효성을검사하기위한훌륭한도구입니다. 유효성검사에대한기본적인두가지방식은문제가있는문자를허용하지않거나적은수의필수문자만허용하는것입니다. 하이픈과작은따옴표와같은문제가되는일부문자를쉽게허용하지않을수도있지만이방법은두가지이유로인해적합하지않을수있습니다. 첫번째, 해커에게유용하게사용되는문자를놓칠수있으며, 두번째잘못된문자를표현하는방법이여러가지일수있습니다. 예를들어해커는작은따옴표를이스케이프처리하여유효성검사코드에서놓치도록만들거나이스케이프처리된따옴표를데이터베이스에전달하여일반적인작은따옴표문자와동일하게취급되도록할수있습니다. 더나은방법은허용가능한문자를식별하고해당문자만허용하는것입니다. 이러한방식에는더많은작업이필요하지만입력에대해보다세밀한제어가가능하며보다안전합니다. 어떤방식을사용하던간에일부해킹에는많은수의문자가필요하므로입력에대한길이를제한할수있습니다. GoodLogin.aspx( 다운로드코드에서제공 ) 에는두개의일반식유효성검사컨트롤이포함되며, 이중에서하나는사용자이름에대한컨트롤이고다른하나는암호에대한컨트롤입니다. 또한여기에는 4-12개의숫자, 알파벳문자및밑줄로입력을제한하는다음과같은 ValidationExpression 값이포함되어있습니다. [ d_a-za-z]{4,12 사용자가텍스트상자에잠재적으로손상될가능성이있는문자를입력하도록허용해야할

6 수있습니다. 예를들어사용자이름의일부로작은따옴표 ( 또는어포스트로피 ) 를입력해야할수있습니다. 이러한경우정규식이나 String.Replace 메서드를사용하여각각의작은따옴표를두개의작은따옴표로바꾸면작은따옴표를안전하게렌더링할수있습니다. 예를들면다음과같습니다. string strsanitizedinput = strinput.replace("'", "''"); 4. 동적 SQL 방지이문서에서설명하는 SQL injections 공격은모두동적 SQL의실행을기반으로합니다. 즉, 사용자가입력한값과 SQL을연결하여생성되는 SQL 문입니다. 하지만매개변수가있는 SQL을사용하면해커가 SQL을코드에주입할수있는가능성이크게줄어듭니다. private void cmdlogin_click(object sender, System.EventArgs e) { string strcnx = ConfigurationSettings.AppSettings["cnxNWindBad"]; using (SqlConnection cnx = new SqlConnection(strCnx)) { SqlParameter prm; cnx.open(); string strqry = "SELECT Count(*) FROM Users WHERE UserName=@username " + "AND Password=@password"; int intrecs; SqlCommand cmd = new SqlCommand(strQry, cnx); cmd.commandtype= CommandType.Text; prm = new SqlParameter("@username",SqlDbType.VarChar,50); prm.direction=parameterdirection.input; prm.value = txtuser.text; cmd.parameters.add(prm); prm = new SqlParameter("@password",SqlDbType.VarChar,50); prm.direction=parameterdirection.input; prm.value = txtpassword.text; cmd.parameters.add(prm); intrecs = (int) cmd.executescalar(); if (intrecs>0) { FormsAuthentication.RedirectFromLoginPage(txtUser.Text, false); else { lblmsg.text = "Login attempt failed."; 표 3 위의표3의코드는매개변수가있는 SQL을사용하여 injections 공격을방지합니다. 매개변수가있는 SQL은사용자가임시 SQL을사용해야하는경우뛰어난성능을보여줍니다. 이러한방식은 IT 부서에서저장프로시저를믿지않거나버전 5.0까지이를지원하지않은 MySQL과같은제품을사용하는경우에필수적입니다. 하지만가능하다면추가기능에대해저장프로시저를사용하여데이터베이스에있는기본테이블에대한모든권한을제거하여그림 1에표시된것과같은쿼리를만들수있는가능성을제거해야합니다.

7 private void cmdlogin_click(object sender, System.EventArgs e) { string strcnx = ConfigurationSettings.AppSettings["cnxNWindBetter"]; using (SqlConnection cnx = new SqlConnection(strCnx)) { SqlParameter prm; cnx.open(); string straccesslevel; SqlCommand cmd = new SqlCommand("procVerifyUser", cnx); cmd.commandtype= CommandType.StoredProcedure; prm = new SqlParameter("@username",SqlDbType.VarChar,50); prm.direction=parameterdirection.input; prm.value = txtuser.text; cmd.parameters.add(prm); prm = new SqlParameter("@password",SqlDbType.VarChar,50); prm.direction=parameterdirection.input; prm.value = txtpassword.text; cmd.parameters.add(prm); straccesslevel = (string) cmd.executescalar(); if (straccesslevel.length>0) { FormsAuthentication.RedirectFromLoginPage(txtUser.Text, false); else { lblmsg.text = "Login attempt failed."; 표 4 표 4에표시된 BetterLogin.aspx는 procverifyuser라는저장프로시저를사용하여사용자에대한유효성을검사합니다. 5. 최소권한으로실행 BadLogin.aspx 및 BadProductList.aspx에서보여진잘못된구현방법중하나는 sa 계정을통해연결문자열을사용한다는점입니다. 다음은 Web.config에서발견할수있는연결문자열입니다. <add key="cnxnwindbad" value="server=localhost;uid=sa;pwd=;database=northwind;" /> 이계정은로그인생성과데이터베이스삭제등거의모든작업을수행할수있는 System Administrators 역할로실행됩니다. 말할필요도없이응용프로그램데이터베이스액세스

8 에대해 sa( 또는고급권한이있는계정 ) 를사용하는것은매우잘못된생각입니다. 대신제한된액세스계정을만들고이를사용하도록하는것이훨씬좋습니다. GoodLogin.aspx 에사용된계정은다음과같은연결문자열을사용합니다. <add key="cnxnwindgood" value="server=localhost;uid=nwindreader;pwd=utbbeesozg4d; database=northwind;" /> NWindReader 계정은 db_datareader 역할에따라실행되며이역할은데이터베이스에대한테이블의읽기로액세스를제한합니다. BetterLogin.aspx는저장프로시저와 WebLimitedUser 로그인을사용하여상황을더욱향상시켜줍니다. 이로그인에는해당저장프로시저를실행하는권한만포함되어있으며기본테이블에대해서는어떠한권한도없습니다. 6. 기밀정보를안전하게저장하기그림 1에표시된 SQL injections 공격은 Users 테이블의사용자이름과암호를노출시킵니다. 이러한종류의테이블은일반적으로폼인증을적용하는경우에사용되며대부분의응용프로그램에서암호는일반텍스트로저장됩니다. 더나은방법은데이터베이스에서암호화된암호또는해시된암호를저장하는것입니다. 해시된암호는암호를해독할수없기때문에암호화된암호보다안전합니다. 해시에 salt( 암호화방식으로안전한임의값 ) 를추가하여해시된암호의보안성능을더욱높일수도있습니다. BestLogin.aspx에는사용자가입력한암호를 SecureUsers 테이블에저장된암호의 salt로지정된해시된암호와비교하는코드가포함되어있습니다 ( 표 5 참조 ). 해시된퍼즐에대한또다른측면은 AddSecureUser.aspx에서볼수있습니다. 이페이지를사용하면 salt로지정되어해시된암호를생성하고이를 SecureUsers 테이블에저장할수있습니다. BestLogin.aspx 및 AddSecureUser.aspx는모두 표 6 에표시된것과같이 SaltedHash 클래스라이브러리의코드를사용합니다. Jeff Prosise가만든이코드는 System.Web.Security 네임스페이스의 FormsAuthentication.HashPasswordForStoringInConfigFile 메서드를사용하여암호해시를만들고 System.Security.Cryptography 네임스페이스의 RNGCryptoServiceProvider.GetNonZeroBytes 메서드를사용하여 16바이트의임의 salt 값 (Convert.ToBase64String을사용하여문자열로변환할겨우 24 문자가됨 ) 을만들수있습니다. SQL injections 공격과직접관련되지는않지만 BestLogin.aspx는연결문자열의암호화라는또다른최선의보안구현방법을보여줍니다. 연결문자열은포함된데이터베이스계정암호가들어있는경우 BestLogin.aspx에서와같이특히중요하게보호되어야합니다. 데이터베이스에연결하려면연결문자열의암호를해독해야하기때문에연결문자열은해시할수없습니다. 그대신연결문자열을암호화해야합니다. 다음은 Web.config에저장되어있고 BestLogin.aspx에서사용되는암호화된연결문자열을보여줍니다. <add key="cnxnwindbest" value="aqaaancmnd8bfderjhoawe/ Cl+sBAAAAcWMZ8XhPz0O8jHcS1539LAQAAAACAAAAAAADZgAAqAAAABAAAABdodw0Yh WfcC6+ UjUUOiMwAAAAAASAAACgAAAAEAAAALPzjTRnAPt7/W8v38ikHL5IAAAAzctRyEcHxWkzxeq bq/ V9ogaSqS4UxvKC9zmrXUoJ9mwrNZ/

9 XZ9LgbfcDXIIAXm2DLRCGRHMtrZrp9yledz0n9kgP3b3s+ X8wFAAAANmLu0UfOJdTc4WjlQQgmZElY7Z8" /> private void cmdlogin_click(object sender, System.EventArgs e) { try { // Grab the encrypted connection string and decrypt it string strcnx = SecureConnection.GetCnxString("cnxNWindBest"); // Establish connection to database using (SqlConnection cnx = new SqlConnection(strCnx)) { SqlParameter prm; cnx.open(); // Execute sproc to retrieved hashed password for this user string strhasheddbpwd; SqlCommand cmd = new SqlCommand("procGetHashedPassword", cnx); cmd.commandtype = CommandType.StoredProcedure; prm = new SqlParameter("@username", SqlDbType.VarChar,50); prm.direction = ParameterDirection.Input; prm.value = txtuser.text; cmd.parameters.add(prm); strhasheddbpwd = (string) cmd.executescalar(); if (strhasheddbpwd.length>0) { // Verify that hashed user-entered password is the same // as the hashed password from the database if (SaltedHash.ValidatePassword(txtPassword.Text, strhasheddbpwd)) { FormsAuthentication.RedirectFromLoginPage( txtuser.text, false); else { lblmsg.text = "Login attempt failed."; else { lblmsg.text = "Login attempt failed."; catch { lblmsg.text = "Login attempt failed."; 표 5

10 public class SaltedHash { static public bool ValidatePassword (string password, string saltedhash) { // Extract hash and salt string const int LEN = 24; string saltstring = saltedhash.substring(saltedhash.length - LEN); string hash1 = saltedhash.substring(0, saltedhash.length - LEN); // Append the salt string to the password string saltedpassword = password + saltstring; // Hash the salted password string hash2 = FormsAuthentication.HashPasswordForStoringInConfigFile( saltedpassword, "SHA1"); // Compare the hashes return (hash1.compareto(hash2) == 0); static public string CreateSaltedPasswordHash (string password) { // Generate random salt string RNGCryptoServiceProvider csp = new RNGCryptoServiceProvider(); byte[] saltbytes = new byte[16]; csp.getnonzerobytes(saltbytes); string saltstring = Convert.ToBase64String(saltBytes); // Append the salt string to the password string saltedpassword = password + saltstring; // Hash the salted password string hash = FormsAuthentication.HashPasswordForStoringInConfigFile( saltedpassword, "SHA1"); // Append the salt to the hash return hash + saltstring; 표 6

11 public class SecureConnection { static public string GetCnxString(string configkey) { string strcnx; try { // Grab encrypted connection string from web.config string strencryptedcnx = ConfigurationSettings.AppSettings[configKey]; // Decrypt the connection string DataProtector dp = new DataProtector(DataProtector.Store.USE_MACHINE_STORE); byte[] datatodecrypt = Convert.FromBase64String(strEncryptedCnx); strcnx = Encoding.ASCII.GetString(dp.Decrypt(dataToDecrypt,null)); catch { strcnx=""; return strcnx; 표 7 BestLogin은 표 7 에서와같이 SecureConnection 클래스로부터 GetCnxString 메서드를호출하여 cnxnwindbest AppSetting 값을검색하고이를다음코드로암호해독합니다. string strcnx = SecureConnection.GetCnxString("cnxNWindBest"); 순서대로 SecureConnection 클래스는호출을 Win32 DPAPI( 데이터보호 API) 로래핑하는 DataProtect 클래스라이브러리 ( 여기에표시되지는않지만이문서의다운로드에포함되어있음 ) 를호출합니다. DPAPI의다양한기능중하나는사용자를위해암호화키를관리하는것입니다. DataProtect 클래스라이브러리및이라이브러리를사용할때고려해야하는추가옵션에대한자세한내용은 Microsoft 패턴및연습가이드중하나인 " 보안적인 ASP.NET 응용프로그램작성 : 인증, 권한부여및보안통신 ( 영문 )" 을참조하십시오. EncryptCnxString.aspx 페이지를사용하면시스템특정암호화된연결문자열을만들어서구성파일에붙여넣을수있습니다. 이페이지는그림 3에표시되어있습니다. 물론, 암호화하거나해시해야하는기밀정보에는암호및연결문자열외에도신용카드번호및해커에게노출될경우위험할수있는기타모든정보가포함됩니다. ASP.NET 2.0에는암호해싱및연결문자열암호화를단순하게만들어주는여러기능이포함되어있습니다.

12 그림 3 7. 안전한실패런타임예외를적절하게처리하지못할경우에도해커는이를악용할수있습니다. 따라서모든프로덕션코드에예외처리기를포함시키는것이중요합니다. 또한처리된예외및처리되지안은예외는항상해커에게도움이될수있는정보를최소한으로만제공해야합니다. 처리된예외의경우오류메시지에서원래사용자에대한유용성과악의적인해커에게너무많은정보를제공하지않는보안성간의균형을맞추어야합니다. 처리되지않은예외의경우에는컴파일요소 (Web.config 파일 ) 의디버그특성을 False로설정하고 customerrors 요소의모드특성을 On 또는 RemoteOnly로설정하여해커에게최소한의정보만표시되도록해야합니다. 예를들어다음을보십시오. <compilation defaultlanguage="c#" debug="false" /> <customerrors mode="remoteonly" /> RemoteOnly 설정은 localhost로부터사이트에액세스하는사용자에게는유용한오류메시지를제공하고원격위치로부터사이트에액세스하는다른사용자에게는예외에대한어떤유용한정보도노출시키지않는일반적인오류메시지를제공하도록보장합니다. 로컬사용자를포함한모든사용자에게일반오류메시지를표시하도록하려면 On 설정을사용하십시오. 프로덕션환경에서는 Off 설정을절대로사용하지마십시오. 8. 결론 SQL injections 공격은보안시스템에침입하여데이터를훔치거나, 변경또는삭제할우려가있기때문에응용프로그램개발자가신중하게다루어야하는문제입니다. 사용하는 ASP.NET 버전과는관계없이이러한공격에는너무나쉽게취약해질수있습니다. 실제로 ASP.NET을사용하지않는경우에도 SQL injections 공격에쉽게당할수있습니다. Windows Forms 응용프로그램과같이사용자입력데이터를사용하여데이터베이스를쿼

13 리하는모든응용프로그램은잠재적으로 injections 공격의대상이될수있습니다. SQL injections 공격으로부터자신을보호하는방법은그렇게어렵지않습니다. 모든사용자입력에대한유효성을검사및확인하고, 동적 SQL을절대로사용하지않고, 최소권한으로계정을사용하고, 해당기밀정보를해시또는암호화하고, 해커에게유용한정보를제공하지않도록거의정보를표시하지않는오류메시지를제공하는응용프로그램은 SQL injections 공격을매우효과적으로방지할수있습니다. 여러계층의공격방어방법을사용할경우하나의방법이실패하더라도계속해서보호상태를유지할수있습니다.

쉽게 풀어쓴 C 프로그래밊

쉽게 풀어쓴 C 프로그래밊 Power Java 제 27 장데이터베이스 프로그래밍 이번장에서학습할내용 자바와데이터베이스 데이터베이스의기초 SQL JDBC 를이용한프로그래밍 변경가능한결과집합 자바를통하여데이터베이스를사용하는방법을학습합니다. 자바와데이터베이스 JDBC(Java Database Connectivity) 는자바 API 의하나로서데이터베이스에연결하여서데이터베이스안의데이터에대하여검색하고데이터를변경할수있게한다.

More information

문서 템플릿

문서 템플릿 HDSI 툴분석 [sql injection 기술명세서 ] Sql injection 기술명세서 Ver. 0.01 이문서는 sql injection 기술명세가범위입니다. Copyrights Copyright 2009 by CanvasTeam@SpeeDroot( 장경칩 ) All Rights Reserved. 장경칩의사전승인없이본내용의전부또는일부에대한복사, 전재,

More information

Windows 8에서 BioStar 1 설치하기

Windows 8에서 BioStar 1 설치하기 / 콘텐츠 테이블... PC에 BioStar 1 설치 방법... Microsoft SQL Server 2012 Express 설치하기... Running SQL 2012 Express Studio... DBSetup.exe 설정하기... BioStar 서버와 클라이언트 시작하기... 1 1 2 2 6 7 1/11 BioStar 1, Windows 8 BioStar

More information

DBMS & SQL Server Installation Database Laboratory

DBMS & SQL Server Installation Database Laboratory DBMS & 조교 _ 최윤영 } 데이터베이스연구실 (1314 호 ) } 문의사항은 cyy@hallym.ac.kr } 과제제출은 dbcyy1@gmail.com } 수업공지사항및자료는모두홈페이지에서확인 } dblab.hallym.ac.kr } 홈페이지 ID: 학번 } 홈페이지 PW:s123 2 차례 } } 설치전점검사항 } 설치단계별설명 3 Hallym Univ.

More information

C++ Programming

C++ Programming C++ Programming 예외처리 Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 예외처리 2 예외처리 예외처리 C++ 의예외처리 예외클래스와객체 3 예외처리 예외를처리하지않는프로그램 int main() int a, b; cout > a >> b; cout

More information

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx #include int main(void) { int num; printf( Please enter an integer "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을 작성하면서 C 프로그램의

More information

Microsoft PowerPoint - CSharp-10-예외처리

Microsoft PowerPoint - CSharp-10-예외처리 10 장. 예외처리 예외처리개념 예외처리구문 사용자정의예외클래스와예외전파 순천향대학교컴퓨터학부이상정 1 예외처리개념 순천향대학교컴퓨터학부이상정 2 예외처리 오류 컴파일타임오류 (Compile-Time Error) 구문오류이기때문에컴파일러의구문오류메시지에의해쉽게교정 런타임오류 (Run-Time Error) 디버깅의절차를거치지않으면잡기어려운심각한오류 시스템에심각한문제를줄수도있다.

More information

목차 1. 시스템요구사항 암호및힌트설정 ( 윈도우 ) JetFlash Vault 시작하기 ( 윈도우 ) JetFlash Vault 옵션 ( 윈도우 )... 9 JetFlash Vault 설정... 9 JetFlash Vault

목차 1. 시스템요구사항 암호및힌트설정 ( 윈도우 ) JetFlash Vault 시작하기 ( 윈도우 ) JetFlash Vault 옵션 ( 윈도우 )... 9 JetFlash Vault 설정... 9 JetFlash Vault 사용자매뉴얼 JetFlash Vault 100 ( 버전 1.0) 1 목차 1. 시스템요구사항... 3 2. 암호및힌트설정 ( 윈도우 )... 3 3. JetFlash Vault 시작하기 ( 윈도우 )... 7 4. JetFlash Vault 옵션 ( 윈도우 )... 9 JetFlash Vault 설정... 9 JetFlash Vault 찾아보기... 10 JetFlash

More information

@OneToOne(cascade = = "addr_id") private Addr addr; public Emp(String ename, Addr addr) { this.ename = ename; this.a

@OneToOne(cascade = = addr_id) private Addr addr; public Emp(String ename, Addr addr) { this.ename = ename; this.a 1 대 1 단방향, 주테이블에외래키실습 http://ojcedu.com, http://ojc.asia STS -> Spring Stater Project name : onetoone-1 SQL : JPA, MySQL 선택 http://ojc.asia/bbs/board.php?bo_table=lecspring&wr_id=524 ( 마리아 DB 설치는위 URL

More information

Microsoft PowerPoint - 04-UDP Programming.ppt

Microsoft PowerPoint - 04-UDP Programming.ppt Chapter 4. UDP Dongwon Jeong djeong@kunsan.ac.kr http://ist.kunsan.ac.kr/ Dept. of Informatics & Statistics 목차 UDP 1 1 UDP 개념 자바 UDP 프로그램작성 클라이언트와서버모두 DatagramSocket 클래스로생성 상호간통신은 DatagramPacket 클래스를이용하여

More information

Microsoft Word - Crackme 15 from Simples 문제 풀이_by JohnGang.docx

Microsoft Word - Crackme 15 from Simples 문제 풀이_by JohnGang.docx CrackMe 15.exe (in Simples) 문제풀이 동명대학교정보보호동아리 THINK www.mainthink.net 강동현 Blog: johnghb.tistory.com e-mail: cari2052@gmail.com 1 목차 : 1. 문제설명및기본분석 --------------------------- P. 03 2 상세분석 ---------------------------

More information

Microsoft PowerPoint - 10Àå.ppt

Microsoft PowerPoint - 10Àå.ppt 10 장. DB 서버구축및운영 DBMS 의개념과용어를익힌다. 간단한 SQL 문법을학습한다. MySQL 서버를설치 / 운영한다. 관련용어 데이터 : 자료 테이블 : 데이터를표형식으로표현 레코드 : 테이블의행 필드또는컬럼 : 테이블의열 필드명 : 각필드의이름 데이터타입 : 각필드에입력할값의형식 학번이름주소연락처 관련용어 DB : 테이블의집합 DBMS : DB 들을관리하는소프트웨어

More information

Spring Boot/JDBC JdbcTemplate/CRUD 예제

Spring Boot/JDBC JdbcTemplate/CRUD 예제 Spring Boot/JDBC JdbcTemplate/CRUD 예제 오라클자바커뮤니티 (ojc.asia, ojcedu.com) Spring Boot, Gradle 과오픈소스인 MariaDB 를이용해서 EMP 테이블을만들고 JdbcTemplate, SimpleJdbcTemplate 을이용하여 CRUD 기능을구현해보자. 마리아 DB 설치는다음 URL 에서확인하자.

More information

InsertColumnNonNullableError(#colName) 에해당하는메시지출력 존재하지않는컬럼에값을삽입하려고할경우, InsertColumnExistenceError(#colName) 에해당하는메시지출력 실행결과가 primary key 제약에위배된다면, Ins

InsertColumnNonNullableError(#colName) 에해당하는메시지출력 존재하지않는컬럼에값을삽입하려고할경우, InsertColumnExistenceError(#colName) 에해당하는메시지출력 실행결과가 primary key 제약에위배된다면, Ins Project 1-3: Implementing DML Due: 2015/11/11 (Wed), 11:59 PM 이번프로젝트의목표는프로젝트 1-1 및프로젝트 1-2에서구현한프로그램에기능을추가하여간단한 DML을처리할수있도록하는것이다. 구현한프로그램은 3개의 DML 구문 (insert, delete, select) 을처리할수있어야한다. 테이블데이터는파일에저장되어프로그램이종료되어도사라지지않아야한다.

More information

IRISCard Anywhere 5

IRISCard Anywhere 5 이 빠른 사용자 가이드는 IRISCard Anywhere 5 및 IRISCard Corporate 5 스캐너의 설치와 시작을 도와 드립니다. 이 스캐너와 함께 제공되는 소프트웨어는: - Cardiris Pro 5 및 Cardiris Corporate 5 for CRM (Windows 용) - Cardiris Pro 4 (Mac OS 용) Cardiris 의

More information

강의 개요

강의 개요 DDL TABLE 을만들자 웹데이터베이스 TABLE 자료가저장되는공간 문자자료의경우 DB 생성시지정한 Character Set 대로저장 Table 생성시 Table 의구조를결정짓는열속성지정 열 (Clumn, Attribute) 은이름과자료형을갖는다. 자료형 : http://dev.mysql.cm/dc/refman/5.1/en/data-types.html TABLE

More information

VS_chapter10

VS_chapter10 Part. Chapter 10 ActiveX Data Objects.NET(ADO.NET).NET, ADO.NET..NET ADO(ActiveX Data Objects). ADO. ADO,. ADO,.NET ADO.NET... ADO.NET ADO Connection DataReader Command DataAdapter DataSet DataView DataSet

More information

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 (   ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각 JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( http://java.sun.com/javase/6/docs/api ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각선의길이를계산하는메소드들을작성하라. 직사각형의가로와세로의길이는주어진다. 대각선의길이는 Math클래스의적절한메소드를이용하여구하라.

More information

8 장데이터베이스 8.1 기본개념 - 데이터베이스 : 데이터를조직적으로구조화한집합 (cf. 엑셀파일 ) - 테이블 : 데이터의기록형식 (cf. 엑셀시트의첫줄 ) - 필드 : 같은종류의데이터 (cf. 엑셀시트의각칸 ) - 레코드 : 데이터내용 (cf. 엑셀시트의한줄 )

8 장데이터베이스 8.1 기본개념 - 데이터베이스 : 데이터를조직적으로구조화한집합 (cf. 엑셀파일 ) - 테이블 : 데이터의기록형식 (cf. 엑셀시트의첫줄 ) - 필드 : 같은종류의데이터 (cf. 엑셀시트의각칸 ) - 레코드 : 데이터내용 (cf. 엑셀시트의한줄 ) 8 장데이터베이스 8.1 기본개념 - 데이터베이스 : 데이터를조직적으로구조화한집합 (cf. 엑셀파일 ) - 테이블 : 데이터의기록형식 (cf. 엑셀시트의첫줄 ) - 필드 : 같은종류의데이터 (cf. 엑셀시트의각칸 ) - 레코드 : 데이터내용 (cf. 엑셀시트의한줄 ) - DDL(Data Definition Language) : show, create, drop

More information

PowerPoint Presentation

PowerPoint Presentation 객체지향프로그래밍 클래스, 객체, 메소드 ( 실습 ) 손시운 ssw5176@kangwon.ac.kr 예제 1. 필드만있는클래스 텔레비젼 2 예제 1. 필드만있는클래스 3 예제 2. 여러개의객체생성하기 4 5 예제 3. 메소드가추가된클래스 public class Television { int channel; // 채널번호 int volume; // 볼륨 boolean

More information

Microsoft PowerPoint - C++ 5 .pptx

Microsoft PowerPoint - C++ 5 .pptx C++ 언어프로그래밍 한밭대학교전자. 제어공학과이승호교수 연산자중복 (operator overloading) 이란? 2 1. 연산자중복이란? 1) 기존에미리정의되어있는연산자 (+, -, /, * 등 ) 들을프로그래머의의도에맞도록새롭게정의하여사용할수있도록지원하는기능 2) 연산자를특정한기능을수행하도록재정의하여사용하면여러가지이점을가질수있음 3) 하나의기능이프로그래머의의도에따라바뀌어동작하는다형성

More information

Microsoft PowerPoint - 3장-MS SQL Server.ppt [호환 모드]

Microsoft PowerPoint - 3장-MS SQL Server.ppt [호환 모드] MS SQL Server 마이크로소프트사가윈도우운영체제를기반으로개발한관계 DBMS 모바일장치에서엔터프라이즈데이터시스템에이르는다양한플랫폼에서운영되는통합데이터관리및분석솔루션 2 MS SQL Server 개요 3.1 MS SQL Server 개요 클라이언트-서버모델을기반으로하는관계 DBMS로서윈도우계열의운영체제에서만동작함 오라클관계 DBMS보다가격이매우저렴한편이고,

More information

작성자 : 김성박\(삼성 SDS 멀티캠퍼스 전임강사\)

작성자 : 김성박\(삼성 SDS 멀티캠퍼스 전임강사\) Session 을이용한현재로그인한사용자의 숫자구하기 작성자 : 김성박 ( 삼성 SDS 멀티캠퍼스전임강사 ) email : urstory@nownuri.net homepage : http://sunny.sarang.net - 본문서는http://sunny.sarang.net JAVA강좌란 혹은 http://www.javastudy.co.kr 의 칼럼 란에서만배포합니다.

More information

강의 개요

강의 개요 정규화와 SELECT (II) 웹데이터베이스 학과 학생 과목 학과 지도교수 학과학번성명 수강과목 담당교수 A 김수정 A 0001 고길동 성질이론 김수정 B 허영만 A 0002 둘리 한식의멋 허영만 C 강풀 B 0003 희동이 심리학의이해 강풀 과목 _ 성적 학번 수강과목 성적 0001 성질이론 A 0001 한식의멋 C 0002 성질이론 A 0002 한식의멋

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 MySQL - 명령어 1. 데이터베이스관련명령 2. 데이터베이스테이블관련명령 3. SQL 명령의일괄실행 4. 레코드관련명령 5. 데이터베이스백업및복원명령 1. 데이터베이스관련명령 데이터베이스접속명령 데이터베이스접속명령 mysql -u계정 -p비밀번호데이터베이스명 C: > mysql -ukdhong p1234 kdhong_db 데이터베이스생성명령 데이터베이스생성명령

More information

윈도우시스템프로그래밍

윈도우시스템프로그래밍 데이터베이스및설계 MySQL 을위한 MFC 를사용한 ODBC 프로그래밍 2012.05.10. 오병우 컴퓨터공학과금오공과대학교 http://www.apmsetup.com 또는 http://www.mysql.com APM Setup 설치발표자료참조 Department of Computer Engineering 2 DB 에속한테이블보기 show tables; 에러발생

More information

슬라이드 제목 없음

슬라이드 제목 없음 MS SQL Server 마이크로소프트사가윈도우운영체제를기반으로개발한관계 DBMS 모바일장치에서엔터프라이즈데이터시스템에이르는다양한플랫폼에서운영되는통합데이터관리및분석솔루션 2 MS SQL Server 개요 3.1 MS SQL Server 개요 클라이언트-서버모델을기반으로하는관계 DBMS 로서윈도우계열의운영체제에서만동작함 오라클관계 DBMS 보다가격이매우저렴한편이고,

More information

PowerPoint Presentation

PowerPoint Presentation 객체지향프로그래밍 오류처리 손시운 ssw5176@kangwon.ac.kr 오류메시지를분석한다. 오류메시지에서많은내용을알수있다. 2 디버깅 디버거를사용하면프로그램에서쉽게오류를감지하고진단할수있다. 디버거는중단점을설정하여서프로그램의실행을제어할수있으며문장 단위로실행하거나변수의값을살펴볼수있다. 3 이클립스에서디버깅 4 이클립스에서디버깅 5 이클립스의디버깅명령어 6 예외처리

More information

FileMaker ODBC and JDBC Guide

FileMaker ODBC and JDBC Guide FileMaker 13 5 5 5 6 6 6 7 7 8 8 8 8 9 9 10 10 11 11 12 12 12 12 12 12 13 13 14 14 16 16 18 4 19 19 20 20 21 21 21 23 23 23 23 25 26 26 26 26 27 28 28 28 28 29 31 31 32 33 33 33 33 34 34 35 35 35 36 1

More information

Microsoft PowerPoint - Java7.pptx

Microsoft PowerPoint - Java7.pptx HPC & OT Lab. 1 HPC & OT Lab. 2 실습 7 주차 Jin-Ho, Jang M.S. Hanyang Univ. HPC&OT Lab. jinhoyo@nate.com HPC & OT Lab. 3 Component Structure 객체 (object) 생성개념을이해한다. 외부클래스에대한접근방법을이해한다. 접근제어자 (public & private)

More information

13 주차 - MDI, Exception, WebBrowser, RichTextBox, AlarmProgram 대림대학 년도 1 학기홍명덕

13 주차 - MDI, Exception, WebBrowser, RichTextBox, AlarmProgram 대림대학 년도 1 학기홍명덕 13 주차 - MDI, Exception, WebBrowser, RichTextBox, AlarmProgram 대림대학 - 2011 년도 1 학기홍명덕 (myungduk.hong@gmail.com) MDI(Multiple Document Interface) 응용프로그램은하나의응용프로그램에서동시에여러개의문서로작업할수있도록인터페이스를제공하는응용프로그램문서 (document)

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 실습 1 배효철 th1g@nate.com 1 목차 조건문 반복문 System.out 구구단 모양만들기 Up & Down 2 조건문 조건문의종류 If, switch If 문 조건식결과따라중괄호 { 블록을실행할지여부결정할때사용 조건식 true 또는 false값을산출할수있는연산식 boolean 변수 조건식이 true이면블록실행하고 false 이면블록실행하지않음 3

More information

Spotlight on Oracle V10.x 트라이얼프로그램설치가이드 DELL SOFTWARE KOREA

Spotlight on Oracle V10.x 트라이얼프로그램설치가이드 DELL SOFTWARE KOREA Spotlight on Oracle V10.x DELL SOFTWARE KOREA 2016-11-15 Spotlight on Oracle 목차 1. 시스템요구사항... 2 1.1 지원하는데이터베이스...2 1.2 사용자설치홖경...2 2. 프로그램설치... 3 2.1 설치프로그램실행...3 2.2 라이선스사용관련내용확인및사용동의...3 2.3 프로그램설치경로지정...4

More information

Connection 8 22 UniSQLConnection / / 9 3 UniSQL OID SET

Connection 8 22 UniSQLConnection / / 9 3 UniSQL OID SET 135-080 679-4 13 02-3430-1200 1 2 11 2 12 2 2 8 21 Connection 8 22 UniSQLConnection 8 23 8 24 / / 9 3 UniSQL 11 31 OID 11 311 11 312 14 313 16 314 17 32 SET 19 321 20 322 23 323 24 33 GLO 26 331 GLO 26

More information

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 2012.11.23 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Document Distribution Copy Number Name(Role, Title) Date

More information

PowerPoint Template

PowerPoint Template 설치및실행방법 Jaewoo Shim Jun. 4. 2018 Contents SQL 인젝션이란 WebGoat 설치방법 실습 과제 2 SQL 인젝션이란 데이터베이스와연동된웹서버에입력값을전달시악의적동작을수행하는쿼리문을삽입하여공격을수행 SELECT * FROM users WHERE id= $_POST[ id ] AND pw= $_POST[ pw ] Internet

More information

10.ppt

10.ppt : SQL. SQL Plus. JDBC. SQL >> SQL create table : CREATE TABLE ( ( ), ( ),.. ) SQL >> SQL create table : id username dept birth email id username dept birth email CREATE TABLE member ( id NUMBER NOT NULL

More information

WINDOW FUNCTION 의이해와활용방법 엑셈컨설팅본부 / DB 컨설팅팀정동기 개요 Window Function 이란행과행간의관계를쉽게정의할수있도록만든함수이다. 윈도우함수를활용하면복잡한 SQL 들을하나의 SQL 문장으로변경할수있으며반복적으로 ACCESS 하는비효율역

WINDOW FUNCTION 의이해와활용방법 엑셈컨설팅본부 / DB 컨설팅팀정동기 개요 Window Function 이란행과행간의관계를쉽게정의할수있도록만든함수이다. 윈도우함수를활용하면복잡한 SQL 들을하나의 SQL 문장으로변경할수있으며반복적으로 ACCESS 하는비효율역 WINDOW FUNCTION 의이해와활용방법 엑셈컨설팅본부 / DB 컨설팅팀정동기 개요 Window Function 이란행과행간의관계를쉽게정의할수있도록만든함수이다. 윈도우함수를활용하면복잡한 SQL 들을하나의 SQL 문장으로변경할수있으며반복적으로 ACCESS 하는비효율역시쉽게해결할수있다. 이번화이트페이퍼에서는 Window Function 중순위 RANK, ROW_NUMBER,

More information

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt 변수와상수 1 변수란무엇인가? 변수 : 정보 (data) 를저장하는컴퓨터내의특정위치 ( 임시저장공간 ) 메모리, register 메모리주소 101 번지 102 번지 변수의크기에따라 주로 byte 단위 메모리 2 기본적인변수형및변수의크기 변수의크기 해당컴퓨터에서는항상일정 컴퓨터마다다를수있음 short

More information

제목 레이아웃

제목 레이아웃 웹해킹이라고무시하는것들보소 2017.07.10 RUBIYA805[AT]GMAIL[DOT]COM SQL Injection 끝나지않은위협 2017.07.10 RUBIYA805[AT]GMAIL[DOT]COM Who am I 정도원 aka rubiya Penetration tester Web application bughuter Pwned 20+ wargame @kr_rubiya

More information

PowerPoint Presentation

PowerPoint Presentation Class - Property Jo, Heeseung 목차 section 1 클래스의일반구조 section 2 클래스선언 section 3 객체의생성 section 4 멤버변수 4-1 객체변수 4-2 클래스변수 4-3 종단 (final) 변수 4-4 멤버변수접근방법 section 5 멤버변수접근한정자 5-1 public 5-2 private 5-3 한정자없음

More information

학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2

학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2 학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2 6.1 함수프로시저 6.2 서브프로시저 6.3 매개변수의전달방식 6.4 함수를이용한프로그래밍 3 프로시저 (Procedure) 프로시저 (Procedure) 란무엇인가? 논리적으로묶여있는하나의처리단위 내장프로시저 이벤트프로시저, 속성프로시저, 메서드, 비주얼베이직내장함수등

More information

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D> Power Java 제 8 장클래스와객체 I 이번장에서학습할내용 클래스와객체 객체의일생직접 메소드클래스를 필드작성해 UML 봅시다. QUIZ 1. 객체는 속성과 동작을가지고있다. 2. 자동차가객체라면클래스는 설계도이다. 먼저앞장에서학습한클래스와객체의개념을복습해봅시다. 클래스의구성 클래스 (class) 는객체의설계도라할수있다. 클래스는필드와메소드로이루어진다.

More information

C++ Programming

C++ Programming C++ Programming 연산자다중정의 Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 연산자다중정의 C++ 스타일의문자열 2 연산자다중정의 연산자다중정의 단항연산자다중정의 이항연산자다중정의 cin, cout 그리고 endl C++ 스타일의문자열 3 연산자다중정의 연산자다중정의 (Operator

More information

RHEV 2.2 인증서 만료 확인 및 갱신

RHEV 2.2 인증서 만료 확인 및 갱신 2018/09/28 03:56 1/2 목차... 1 인증서 확인... 1 인증서 종류와 확인... 4 RHEVM CA... 5 FQDN 개인 인증서... 5 레드햇 인증서 - 코드 서명 인증서... 6 호스트 인증... 7 참고사항... 8 관련링크... 8 AllThatLinux! - http://allthatlinux.com/dokuwiki/ rhev_2.2_

More information

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호 제이쿼리 () 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호 CSS와마찬가지로, 문서에존재하는여러엘리먼트를접근할수있다. 엘리먼트접근방법 $( 엘리먼트 ) : 일반적인접근방법

More information

Observational Determinism for Concurrent Program Security

Observational Determinism for  Concurrent Program Security 웹응용프로그램보안취약성 분석기구현 소프트웨어무결점센터 Workshop 2010. 8. 25 한국항공대학교, 안준선 1 소개 관련연구 Outline Input Validation Vulnerability 연구내용 Abstract Domain for Input Validation Implementation of Vulnerability Analyzer 기존연구

More information

Microsoft PowerPoint - chap01-C언어개요.pptx

Microsoft PowerPoint - chap01-C언어개요.pptx #include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 프로그래밍의 기본 개념을

More information

<4D F736F F F696E74202D20B5A5C0CCC5CDBAA3C0CCBDBA5F3130C1D6C2F75F32C2F7BDC32E >

<4D F736F F F696E74202D20B5A5C0CCC5CDBAA3C0CCBDBA5F3130C1D6C2F75F32C2F7BDC32E > 6. ASP.NET ASP.NET 소개 ASP.NET 페이지및응용프로그램구조 Server Controls 데이터베이스와연동 8 장. 데이터베이스응용개발 (Page 20) 6.1 ASP.NET 소개 ASP.NET 동적웹응용프로그램을개발하기위한 MS 의웹기술 현재 ASP.NET 4.5까지출시.Net Framework 4.5 에포함 Visual Studio 2012

More information

슬라이드 1

슬라이드 1 Tadpole for DB 1. 도구개요 2. 설치및실행 4. 활용예제 1. 도구개요 도구명 소개 Tadpole for DB Tools (sites.google.com/site/tadpolefordb/) 웹기반의데이터베이스를관리하는도구 Database 스키마및데이터관리 라이선스 LGPL (Lesser General Public License) 특징 주요기능

More information

PowerPoint Presentation

PowerPoint Presentation Package Class 1 Heeseung Jo 목차 section 1 패키지개요와패키지의사용 section 2 java.lang 패키지의개요 section 3 Object 클래스 section 4 포장 (Wrapper) 클래스 section 5 문자열의개요 section 6 String 클래스 section 7 StringBuffer 클래스 section

More information

JDBC 소개및설치 Database Laboratory

JDBC 소개및설치 Database Laboratory JDBC 소개및설치 JDBC } What is the JDBC? } JAVA Database Connectivity 의약어 } 자바프로그램안에서 SQL 을실행하기위해데이터베이스를연결해주는응용프로그램인터페이스 } 연결된데이터베이스의종류와상관없이동일한방법으로자바가데이터베이스내에서발생하는트랜잭션을제어할수있도록하는환경을제공 2 JDBC Driver Manager }

More information

SBR-100S User Manual

SBR-100S User Manual ( 1 / 13 ) SBR-100S 모델에 대한 사용자 펌웨어 업그레이드 방법을 안내해 드립니다. SBR-100S 는 신규 펌웨어가 있을시 FOTA(자동업데이트) 기능을 통하여 자동 업그레이드가 되며, 필요시 사용자가 신규 펌웨어를 다운받아 수동으로 업그레이드 할 수 있습니다. 1. 준비하기 1.1 연결 장치 준비 펌웨어 업그레이드를 위해서는 SBR-100S

More information

빅데이터분산컴퓨팅-5-수정

빅데이터분산컴퓨팅-5-수정 Apache Hive 빅데이터분산컴퓨팅 박영택 Apache Hive 개요 Apache Hive 는 MapReduce 기반의 High-level abstraction HiveQL은 SQL-like 언어를사용 Hadoop 클러스터에서 MapReduce 잡을생성함 Facebook 에서데이터웨어하우스를위해개발되었음 현재는오픈소스인 Apache 프로젝트 Hive 유저를위한

More information

1. 객체의생성과대입 int 형변수 : 선언과동시에초기화하는방법 (C++) int a = 3; int a(3); // 기본타입역시클래스와같이처리가능 객체의생성 ( 복습 ) class CPoint private : int x, y; public : CPoint(int a

1. 객체의생성과대입 int 형변수 : 선언과동시에초기화하는방법 (C++) int a = 3; int a(3); // 기본타입역시클래스와같이처리가능 객체의생성 ( 복습 ) class CPoint private : int x, y; public : CPoint(int a 6 장복사생성자 객체의생성과대입객체의값에의한전달복사생성자디폴트복사생성자복사생성자의재정의객체의값에의한반환임시객체 C++ 프로그래밍입문 1. 객체의생성과대입 int 형변수 : 선언과동시에초기화하는방법 (C++) int a = 3; int a(3); // 기본타입역시클래스와같이처리가능 객체의생성 ( 복습 ) class CPoint private : int x, y;

More information

한국 컴퓨터그래픽스(디지털컨텐츠)의 현황과 미래 위기인가? 기회인가?

한국 컴퓨터그래픽스(디지털컨텐츠)의 현황과 미래 위기인가? 기회인가? Chapter 14 ADO.NET 학습목표 ADO.NET 은데이터베이스사용의편의를위해, MS 사가만든표준데이터베이스인터페이스이다. 프로그램을한다는것에있어서빠질수없는부분이데이터베이스부분이다. ADO.NET 의 C# 에서활용을학습하도록한다. 2 ADO.NET 의개요 ADO.NET.NET 에서데이터베이스조작에관련된.NET 클래스들의집합 다양한방법으로데이터베이스를검색,

More information

PowerPoint Presentation

PowerPoint Presentation 객체지향프로그래밍 오류처리 손시운 ssw5176@kangwon.ac.kr 오류메시지를분석한다. 오류메시지에서많은내용을알수있다. 2 디버깅 디버거를사용하면프로그램에서쉽게오류를감지하고진단할수있다. 디버거는중단점을설정하여서프로그램의실행을제어할수있으며문장 단위로실행하거나변수의값을살펴볼수있다. 3 이클립스에서디버깅 4 이클립스에서디버깅 5 이클립스의디버깅명령어 6 예외처리

More information

유니티 변수-함수.key

유니티 변수-함수.key C# 1 or 16 (Binary or Hex) 1:1 C# C# (Java, Python, Go ) (0101010 ). (Variable) : (Value) (Variable) : (Value) ( ) (Variable) : (Value) ( ) ; (Variable) : (Value) ( ) ; = ; (Variable) : (Value) (Variable)

More information

1. Windows 설치 (Client 설치 ) 원하는위치에다운받은발송클라이언트압축파일을해제합니다. Step 2. /conf/config.xml 파일수정 conf 폴더에서 config.xml 파일을텍스트에디터를이용하여 Open 합니다. config.xml 파일에서, 아

1. Windows 설치 (Client 설치 ) 원하는위치에다운받은발송클라이언트압축파일을해제합니다. Step 2. /conf/config.xml 파일수정 conf 폴더에서 config.xml 파일을텍스트에디터를이용하여 Open 합니다. config.xml 파일에서, 아 LG U+ SMS/MMS 통합클라이언트 LG U+ SMS/MMS Client Simple Install Manual LG U+ SMS/MMS 통합클라이언트 - 1 - 간단설치매뉴얼 1. Windows 설치 (Client 설치 ) 원하는위치에다운받은발송클라이언트압축파일을해제합니다. Step 2. /conf/config.xml 파일수정 conf 폴더에서 config.xml

More information

UI TASK & KEY EVENT

UI TASK & KEY EVENT T9 & AUTOMATA 2007. 3. 23 PLATFORM TEAM 정용학 차례 T9 개요 새로운언어 (LDB) 추가 T9 주요구조체 / 주요함수 Automata 개요 Automata 주요함수 추후세미나계획 질의응답및토의 T9 ( 2 / 30 ) T9 개요 일반적으로 cat 이라는단어를쓸려면... 기존모드 (multitap) 2,2,2, 2,8 ( 총 6번의입력

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 실습문제 Chapter 05 데이터베이스시스템... 오라클로배우는데이터베이스개론과실습 1. 실습문제 1 (5 장심화문제 : 각 3 점 ) 6. [ 마당서점데이터베이스 ] 다음프로그램을 PL/SQL 저장프로시져로작성하고실행해 보시오. (1) ~ (2) 7. [ 마당서점데이터베이스 ] 다음프로그램을 PL/SQL 저장프로시져로작성하고실행해 보시오. (1) ~ (5)

More information

슬라이드 1

슬라이드 1 UNIT 16 예외처리 로봇 SW 교육원 3 기 최상훈 학습목표 2 예외처리구문 try-catch-finally 문을사용핛수있다. 프로그램오류 3 프로그램오류의종류 컴파일에러 (compile-time error) : 컴파일실행시발생 럮타임에러 (runtime error) : 프로그램실행시발생 에러 (error) 프로그램코드에의해서해결될수없는심각핚오류 ex)

More information

게시판 스팸 실시간 차단 시스템

게시판 스팸 실시간 차단 시스템 오픈 API 2014. 11-1 - 목 차 1. 스팸지수측정요청프로토콜 3 1.1 스팸지수측정요청프로토콜개요 3 1.2 스팸지수측정요청방법 3 2. 게시판스팸차단도구오픈 API 활용 5 2.1 PHP 5 2.1.1 차단도구오픈 API 적용방법 5 2.1.2 차단도구오픈 API 스팸지수측정요청 5 2.1.3 차단도구오픈 API 스팸지수측정결과값 5 2.2 JSP

More information

13주-14주proc.PDF

13주-14주proc.PDF 12 : Pro*C/C++ 1 2 Embeded SQL 3 PRO *C 31 C/C++ PRO *C NOT! NOT AND && AND OR OR EQUAL == = SQL,,, Embeded SQL SQL 32 Pro*C C SQL Pro*C C, C Pro*C, C C 321, C char : char[n] : n int, short, long : float

More information

기술문서 작성 XXE Attacks 작성자 : 인천대학교 OneScore 김영성 I. 소개 2 II. 본문 2 가. XML external entities 2 나. XXE Attack 3 다. 점검방법 3 라.

기술문서 작성 XXE Attacks 작성자 : 인천대학교 OneScore 김영성 I. 소개 2 II. 본문 2 가. XML external entities 2 나. XXE Attack 3 다. 점검방법 3 라. 기술문서 14. 11. 10. 작성 XXE Attacks 작성자 : 인천대학교 OneScore 김영성 dokymania@naver.com I. 소개 2 II. 본문 2 가. XML external entities 2 나. XXE Attack 3 다. 점검방법 3 라. Exploit 5 마. 피해 6 III. 결론 6 가. 권고사항 6 I. 소개 가. 역자 본문서는

More information

제11장 프로세스와 쓰레드

제11장 프로세스와 쓰레드 제9장자바쓰레드 9.1 Thread 기초 (1/5) 프로그램 명령어들의연속 (a sequence of instruction) 프로세스 / Thread 실행중인프로그램 (program in execution) 프로세스생성과실행을위한함수들 자바 Thread 2 9.1 Thread 기초 (2/5) 프로세스단위작업의문제점 프로세스생성시오버헤드 컨텍스트스위치오버헤드

More information

(Veritas\231 System Recovery 16 Monitor Readme)

(Veritas\231 System Recovery 16 Monitor Readme) Veritas System Recovery 16 Monitor Readme 이 Readme 정보 Veritas System Recovery 16 Monitor 에서더이상지원되지않는기능 Veritas System Recovery 16 Monitor 시스템요구사항 호스트시스템의필수조건 클라이언트시스템의필수조건 Veritas System Recovery 16 Monitor

More information

윈도우시스템프로그래밍

윈도우시스템프로그래밍 데이타베이스 MySQL 을위한 MFC 를사용한 ODBC 프로그래밍 2013.05.15. 오병우 컴퓨터공학과금오공과대학교 http://www.apmsetup.com 또는 http://www.mysql.com APM Setup 설치발표자료참조 Department of Computer Engineering 2 DB 에속한테이블보기 show tables; 에러발생

More information

5장 SQL 언어 Part II

5장 SQL 언어 Part II 5 장 SQL 언어 Part II 박창이 서울시립대학교통계학과 박창이 ( 서울시립대학교통계학과 ) 5 장 SQL 언어 Part II 1 / 26 데이터조작문 데이터검색 : SELECT 문데이터추가 : INSERT 문데이터수정 : UPDATE 문데이터삭제 : DELETE 문 박창이 ( 서울시립대학교통계학과 ) 5 장 SQL 언어 Part II 2 / 26 SELECT

More information

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자 SQL Developer Connect to TimesTen 유니원아이앤씨 DB 팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 2010-07-28 작성자 김학준 최종수정일 2010-07-28 문서번호 20100728_01_khj 재개정이력 일자내용수정인버전

More information

페이지 2 / 9 목차 개요웹취약점분류점검결과해결방안 주의사항 : 빛스캔 ( 주 ) 의취약성검사가대상웹사이트의취약점을 100% 진단하지못할가능성이있으며, 원격에서탐지 하는점검의특성상오탐지 (False Positive) 할가능성이있으므로충분한검토과정

페이지 2 / 9 목차 개요웹취약점분류점검결과해결방안 주의사항 : 빛스캔 ( 주 ) 의취약성검사가대상웹사이트의취약점을 100% 진단하지못할가능성이있으며, 원격에서탐지 하는점검의특성상오탐지 (False Positive) 할가능성이있으므로충분한검토과정 페이지 1 / 9 https://scan.bitscan.co.kr -BMT version 웹취약점점검보고서 점검대상 : testasp.vulnweb.com 주의 : 점검대상웹서버보안에관련된중요한정보를포함하고있습니다. 빛스캔 ( 주 ) https://scan.bitscan.co.kr 페이지 2 / 9 목차 1. 2. 3. 4. 개요웹취약점분류점검결과해결방안 주의사항

More information

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher( 실행할페이지.jsp); 다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp"); dispatcher.forward(request, response); - 위의예에서와같이 RequestDispatcher

More information

untitled

untitled Oracle DBMS 로그인의접근제어우회 취약점분석 2006. 2. 9 인터넷침해사고대응지원센터 (KISC) 본보고서의전부나일부를인용시반드시 [ 자료 : 한국정보보호진흥원 (KISA)] 룰명시하여주시기바랍니다. 개요 o 2005년이후 Oracle Critical Patch Update(CPU) 는 Oracle사제품대상으로다수의보안패치및보안패치와관련된일반패치를발표하는주요수단임

More information

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과 1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과 학습내용 1. Java Development Kit(JDK) 2. Java API 3. 자바프로그래밍개발도구 (Eclipse) 4. 자바프로그래밍기초 2 자바를사용하려면무엇이필요한가? 자바프로그래밍개발도구 JDK (Java Development Kit) 다운로드위치 : http://www.oracle.com/technetwork/java/javas

More information

gnu-lee-oop-kor-lec06-3-chap7

gnu-lee-oop-kor-lec06-3-chap7 어서와 Java 는처음이지! 제 7 장상속 Super 키워드 상속과생성자 상속과다형성 서브클래스의객체가생성될때, 서브클래스의생성자만호출될까? 아니면수퍼클래스의생성자도호출되는가? class Base{ public Base(String msg) { System.out.println("Base() 생성자 "); ; class Derived extends Base

More information

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 System call table and linkage v Ref. http://www.ibm.com/developerworks/linux/library/l-system-calls/ - 2 - Young-Jin Kim SYSCALL_DEFINE 함수

More information

Contents. 1. PMD ㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍ 2. Metrics ㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍ 3. FindBugs ㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍ 4. ㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍ

Contents. 1. PMD ㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍ 2. Metrics ㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍ 3. FindBugs ㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍ 4. ㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍ 정적분석서 - 영단어수집왕 - Team.# 3 과목명 소프트웨어모델링및분석 담당교수 유준범교수님 201011320 김용현 팀원 201111360 손준익 201111347 김태호 제출일자 2015-06-09 1 Contents. 1. PMD ㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍ 2. Metrics

More information

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc NTAS and FRAME BUILDER Install Guide NTAS and FRAME BUILDER Version 2.5 Copyright 2003 Ari System, Inc. All Rights reserved. NTAS and FRAME BUILDER are trademarks or registered trademarks of Ari System,

More information

- JPA를사용하는경우의스프링설정파일에다음을기술한다. <bean id="entitymanagerfactory" class="org.springframework.orm.jpa.localentitymanagerfactorybean" p:persistenceunitname=

- JPA를사용하는경우의스프링설정파일에다음을기술한다. <bean id=entitymanagerfactory class=org.springframework.orm.jpa.localentitymanagerfactorybean p:persistenceunitname= JPA 와 Hibernate - 스프링의 JDBC 대신에 JPA를이용한 DB 데이터검색작업 - JPA(Java Persistence API) 는자바의 O/R 매핑에대한표준지침이며, 이지침에따라설계된소프트웨어를 O/R 매핑프레임워크 라고한다. - O/R 매핑 : 객체지향개념인자바와관계개념인 DB 테이블간에상호대응을시켜준다. 즉, 객체지향언어의인스턴스와관계데이터베이스의레코드를상호대응시킨다.

More information

JAVA PROGRAMMING 실습 02. 표준 입출력

JAVA PROGRAMMING 실습 02. 표준 입출력 자바의기본구조? class HelloJava{ public static void main(string argv[]){ system.out.println( hello,java ~ ){ } } # 하나하나뜯어살펴봅시다! public class HelloJava{ 클래스정의 public static void main(string[] args){ System.out.println(

More information

JAVA PROGRAMMING 실습 09. 예외처리

JAVA PROGRAMMING 실습 09. 예외처리 2015 학년도 2 학기 예외? 프로그램실행중에발생하는예기치않은사건 예외가발생하는경우 정수를 0으로나누는경우 배열의크기보다큰인덱스로배열의원소를접근하는경우 파일의마지막부분에서데이터를읽으려고하는경우 예외처리 프로그램에문제를발생시키지않고프로그램을실행할수있게적절한조치를취하는것 자바는예외처리기를이용하여예외처리를할수있는기법제공 자바는예외를객체로취급!! 나뉨수를입력하시오

More information

Bind Peeking 한계에따른 Adaptive Cursor Sharing 등장 엑셈컨설팅본부 /DB 컨설팅팀김철환 Bind Peeking 의한계 SQL 이최초실행되면 3 단계의과정을거치게되는데 Parsing 단계를거쳐 Execute 하고 Fetch 의과정을통해데이터

Bind Peeking 한계에따른 Adaptive Cursor Sharing 등장 엑셈컨설팅본부 /DB 컨설팅팀김철환 Bind Peeking 의한계 SQL 이최초실행되면 3 단계의과정을거치게되는데 Parsing 단계를거쳐 Execute 하고 Fetch 의과정을통해데이터 Bind Peeking 한계에따른 Adaptive Cursor Sharing 등장 엑셈컨설팅본부 /DB 컨설팅팀김철환 Bind Peeking 의한계 SQL 이최초실행되면 3 단계의과정을거치게되는데 Parsing 단계를거쳐 Execute 하고 Fetch 의과정을통해데이터를사용자에게전송하게되며 Parsing 단계에서실행계획이생성된다. Bind 변수를사용하는 SQL

More information

FileMaker 15 ODBC 및 JDBC 설명서

FileMaker 15 ODBC 및 JDBC 설명서 FileMaker 15 ODBC JDBC 2004-2016 FileMaker, Inc.. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker FileMaker Go FileMaker, Inc.. FileMaker WebDirect FileMaker, Inc... FileMaker.

More information

PowerPoint Presentation

PowerPoint Presentation Package Class 3 Heeseung Jo 목차 section 1 패키지개요와패키지의사용 section 2 java.lang 패키지의개요 section 3 Object 클래스 section 4 포장 (Wrapper) 클래스 section 5 문자열의개요 section 6 String 클래스 section 7 StringBuffer 클래스 section

More information

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770> 연습문제해답 5 4 3 2 1 0 함수의반환값 =15 5 4 3 2 1 0 함수의반환값 =95 10 7 4 1-2 함수의반환값 =3 1 2 3 4 5 연습문제해답 1. C 언어에서의배열에대하여다음중맞는것은? (1) 3차원이상의배열은불가능하다. (2) 배열의이름은포인터와같은역할을한다. (3) 배열의인덱스는 1에서부터시작한다. (4) 선언한다음, 실행도중에배열의크기를변경하는것이가능하다.

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 @ Lesson 2... ( ). ( ). @ vs. logic data method variable behavior attribute method field Flow (Type), ( ) member @ () : C program Method A ( ) Method B ( ) Method C () program : Java, C++, C# data @ Program

More information

(Microsoft PowerPoint - java1-lecture11.ppt [\310\243\310\257 \270\360\265\345])

(Microsoft PowerPoint - java1-lecture11.ppt [\310\243\310\257 \270\360\265\345]) 예외와예외클래스 예외처리 514760-1 2016 년가을학기 12/08/2016 박경신 오류의종류 에러 (Error) 하드웨어의잘못된동작또는고장으로인한오류 에러가발생되면 JVM실행에문제가있으므로프로그램종료 정상실행상태로돌아갈수없음 예외 (Exception) 사용자의잘못된조작또는개발자의잘못된코딩으로인한오류 예외가발생되면프로그램종료 예외처리 추가하면정상실행상태로돌아갈수있음

More information

Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3

Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3 Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3 Example 3.1 Files 3.2 Source code 3.3 Exploit flow

More information

Microsoft Word - Armjtag_문서1.doc

Microsoft Word - Armjtag_문서1.doc ARM JTAG (wiggler 호환 ) 사용방법 ( IAR EWARM 에서 ARM-JTAG 로 Debugging 하기 ) Test Board : AT91SAM7S256 IAR EWARM : Kickstart for ARM ARM-JTAG : ver 1.0 ( 씨링크테크 ) 1. IAR EWARM (Kickstart for ARM) 설치 2. Macraigor

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 제 5 장생성자와접근제어 1. 객체지향기법을이해한다. 2. 클래스를작성할수있다. 3. 클래스에서객체를생성할수있다. 4. 생성자를이용하여객체를초기화할수 있다. 5. 접근자와설정자를사용할수있다. 이번장에서만들어볼프로그램 생성자 생성자 (constructor) 는초기화를담당하는함수 생성자가필요한이유 #include using namespace

More information

Microsoft PowerPoint - Supplement-03-TCP Programming.ppt [호환 모드]

Microsoft PowerPoint - Supplement-03-TCP Programming.ppt [호환 모드] - Socket Programming in Java - 목차 소켓소개 자바에서의 TCP 프로그램작성방법 주요클래스와메소드 HTTP 프로토콜을이용한예제 에코프로그램 Q/A 에코프로그램 - EchoServer 에코프로그램 - EchoClient TCP Programming 1 소켓소개 IP, Port, and Socket 포트 (Port): 전송계층에서통신을수행하는응용프로그램을찾기위한주소

More information

The Basic Of Blind SQL Injection Sur3x5F - PRIDE NateOn : PRIDE in Sur3x5F All rights are reserved

The Basic Of Blind SQL Injection Sur3x5F - PRIDE NateOn : PRIDE in Sur3x5F All rights are reserved The Basic Of Blind SQL Injection Sur3x5F - PRIDE NateOn : austinkwon@nate.com 목 차 0x00. Intro 0x01. You should know... 0x02. What is Blind SQL Injection 0x03. Get db information from information_schema

More information

SKINFOSEC-CHR-028-ASP Mssql Cookie Sql Injection Tool 분석 보고서.doc

SKINFOSEC-CHR-028-ASP Mssql Cookie Sql Injection Tool 분석 보고서.doc Asp Mssql Sql Injection Tool 분석보고서 이재곤 (x0saver@gmail.com) SK Infosec Co., Inc MSS 사업본부 / 침해대응센터모의해킹파트 Table of Contents 1. 개요... 3 2. 구성... 3 3. 분석... 4 3.1. 기능분석... 4 4. 공격원리...14 4.1 기본공격원리...14 4.2

More information

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상 Android 용 Brother Image Viewer 설명서 버전 0 KOR 아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상표입니다. Android는

More information

슬라이드 1

슬라이드 1 모바일소프트웨어프로젝트 지도 API 1 조 20070216 김성수 20070383 김혜준 20070965 이윤상 20071335 최진 1 매시업? 공개 API? 2 매시업 웹으로제공하고있는정보와서비스를융합하여새로운소프트웨어나서비스, 데이터베이스등을만드는것 < 최초의매시업 > 3 공개 API 누구나사용할수있도록공개된 API 지도, 검색등다양한서비스들에서제공 대표적인예

More information

비긴쿡-자바 00앞부속

비긴쿡-자바 00앞부속 IT COOKBOOK 14 Java P r e f a c e Stay HungryStay Foolish 3D 15 C 3 16 Stay HungryStay Foolish CEO 2005 L e c t u r e S c h e d u l e 1 14 PPT API C A b o u t T h i s B o o k IT CookBook for Beginner Chapter

More information

API - Notification 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어

API - Notification 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어서가장중요한부분이라고도할수있기때문입니다. 1. 새로운메크로생성 새메크로만들기버튺을클릭하여파일을생성합니다. 2. 메크로저장 -

More information

<성진수의 C# 활용 2>

<성진수의 C# 활용 2> < 성진수의 C# 활용 2> 이문서의저작권은저에게있슴당..^^ ** MS SQL to XML ** 이번에는 MS_SQL 2000 과 XML과의관계를좀알아보겠습니다. 우선요즘 DBMS들이 XML과의호환성을놓이는데주력을하고있습니다. 그이유는 XML이이제는자료공유의표준화되었기때문입니다. 웹에서도그렇고모든자료를 XML형식으로주고받는추세이다보니 DBMS 또한 XML을지원해야겠지요..

More information

Cluster management software

Cluster management software 자바네트워크프로그래밍 (OCJP 국제공인자격취득중심 ) 충북대학교 최민 기본예제 예외클래스를정의하고사용하는예제 class NewException extends Exception { public class ExceptionTest { static void methoda() throws NewException { System.out.println("NewException

More information