반응형
[Level 20. Dragon] Sol → ?pw='%0Aand pw='' or id='admin
id = 'guest' 이후에 주석이 달려있는데, id가 admin이어야 통과된다.
따라서 주석을 무효화시킬 수 있는 방법에 대해 고민해보아야 한다.
[모의해킹_이론] - SQL Injection : 로그인 Case 별 인증 우회
위의 포스팅에서 로그인 로직을 케이스 별로 5가지를 살펴보았는데, 그중에 마지막 케이스가 바로 개행(Enter)을 넣어 주석을 방어하는 방식이었다.
SQL Injection에서는 주석을 넣어 SQL 구문 일부를 무력화시키는 방식이 자주 사용되는데, Enter로 인해 구문이 다음 줄로 넘어간다면 이 주석은 힘을 잃게 된다.
따라서 %0A(Enter)를 통해 구문을 두 줄로 나누고, id='guest'를 False로 만들어주기 위해 개행 처리 후 and pw=''를 한번 더 넣어주었고, id='admin'으로 마무리해주었다.
select id from prob_dragon where id='guest'# and pw=''
and pw = '' or id = 'admin'
반응형
'WarGames > SQL Injection' 카테고리의 다른 글
Lord of SQL Injection : Dark_eyes[22] (0) | 2021.12.25 |
---|---|
Lord of SQL Injection : Iron_golem[21] (0) | 2021.12.24 |
Lord of SQL Injection : Xavis[19] (0) | 2021.12.19 |
Lord of SQL Injection : Nightmare[18] (0) | 2021.12.17 |
Lord of SQL Injection : Zombie_assassin[17] (0) | 2021.12.16 |
댓글