ì¬ì©ì ì´ë¦ê³¼ ë¹ë°ë²í¸ë¥¼ ì ë ¥í í GUI ë¤ìì SQL 쿼리ë ìëì ê°ì´ ìëí©ëë¤.
"SELECT Count(*) FROM Users WHERE Username=' " + txt.User.Text+" ' AND Password=' "+ txt.Password.Text+" ' ";
ì´ì ì¬ì©ìê° ì¬ì©ì ì´ë¦ì admin, ë¹ë°ë²í¸ë¥¼ passwd123ì ì ë ¥íë¤ê³ ê°ì íê³ , ë¡ê·¸ì¸ ë²í¼ì í´ë¦íë©´ SQL ì¿¼ë¦¬ê° ìëì ê°ì´ ì¤íë©ëë¤.
"SELECT Count(*) FROM Users WHERE Username=' admin ' AND Password=' passwd123 ' ";
ì격 ì¦ëª ì´ ì ííë©´, ì¬ì©ìì ë¡ê·¸ì¸ì´ íì©ëë¯ë¡, ë§¤ì° ê°ë¨í(ë°ë¼ì ìì íì§ ìì) ë©ì»¤ëì¦ì ëë¤. í´ì»¤ë ì´ë¬í ë¶ìì ì±ì ì´ì©íì¬ ë¬´ë¨ ì ê·¼ì ì»ìµëë¤.
í´ì»¤ë Magical Stringì´ë¼ë ê°ë¨í 문ìì´ì ì¬ì©í©ëë¤. ì를 ë¤ë©´, ìëì ê°ìµëë¤.
ì¬ì©ì ì´ë¦: admin
ë¹ë°ë²í¸: anything 'or'1'='1
ë¡ê·¸ì¸ ë²í¼ì í´ë¦íë©´, SQL ì¿¼ë¦¬ê° ìëì ê°ì´ ìëí©ëë¤.
"SELECT Count(*) FROM Users WHERE Username=' admin ' AND Password=' anything 'or'1'='1 ' ";
ì 쿼리ì ë¹ë°ë²í¸ ì¹ì ì ìì¸í ì´í´ë³´ì¸ì.
Password=' anything 'or'1'='1 '
ë¹ë°ë²í¸ë 'anything'ì´ ìëë¯ë¡, password=anythingì ê²°ê³¼ë ê±°ì§(FALSE)ì´ì§ë§, '1'='1'ì ì°¸(TRUE) 문ì´ë¯ë¡ TRUE ê°ì ë°íí©ëë¤. ë§ì§ë§ì¼ë¡, OR ì°ì°ìë¡ ì¸í´, ê°(FALSE ëë TRUE)ì´ TRUEì´ë¯ë¡, ì¸ì¦ ì°íì ì±ê³µí©ëë¤. ë¨ìí 문ìì´(Magical String) ë문ì ì ì²´ ë°ì´í°ë² ì´ì¤ê° ììëììµëë¤.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4