
이번에는 이름부터 간단한 simple sql injection 문제이다. 바로 코드로 넘어가보자.

자세히 보아야 할 부분만 가져왔다. 로그인에 성공한 이후 userid가 admin이면 flag를 출력한다. admin이 아닌 계정으로 로그인하면 간단한 인사만을 alert한다.
다른 필터링이 없다.
바로 SQL Injection을 진행하면 될 것 같다.

필터링이 없는 victim에 SQL Injection 공격의 정답은 해가 무수히 많은 고차방정식과 같다.
sql문에서 where 뒷부분만을 'True'로 만들어주기만 하면 된다.
하지만 password 영역에 or 연산을 삽입(userid=admin, password=1" or "1"="1)시키는 것은, 왜인지는 모르겠지만, hello guest 라고 alert 되며 flag가 뜨지 않는다. 어쨋든 userid 단에 or 연산을 삽입시키면 된다.
또한 userid 단에
admin" --
같이 따옴표로 문자열을 탈출하고, '--'로 뒷문장인 password의 논리를 무력화시키는 방법도 있다.
(논리연산에서 and가 or 보다 연산 우선 순위에 있다)

It tastes like honey, flag.

이번에는 이름부터 간단한 simple sql injection 문제이다. 바로 코드로 넘어가보자.

자세히 보아야 할 부분만 가져왔다. 로그인에 성공한 이후 userid가 admin이면 flag를 출력한다. admin이 아닌 계정으로 로그인하면 간단한 인사만을 alert한다.
다른 필터링이 없다.
바로 SQL Injection을 진행하면 될 것 같다.

필터링이 없는 victim에 SQL Injection 공격의 정답은 해가 무수히 많은 고차방정식과 같다.
sql문에서 where 뒷부분만을 'True'로 만들어주기만 하면 된다.
하지만 password 영역에 or 연산을 삽입(userid=admin, password=1" or "1"="1)시키는 것은, 왜인지는 모르겠지만, hello guest 라고 alert 되며 flag가 뜨지 않는다. 어쨋든 userid 단에 or 연산을 삽입시키면 된다.
또한 userid 단에
admin" --
같이 따옴표로 문자열을 탈출하고, '--'로 뒷문장인 password의 논리를 무력화시키는 방법도 있다.
(논리연산에서 and가 or 보다 연산 우선 순위에 있다)

It tastes like honey, flag.