-
[Lord of SQL_injection] #1 gremlin$ 웹 해킹 $/los.rubiya.kr 2019. 2. 10. 22:44
php코드가 제공되어 있습니다.
If($result['id']) solve("gremlin")에서 id의 결과값이 있다면 해결되는 문제 입니다.
하지만 query를 보면 select id from prob_gremlin where id='' and pw='' 에서 id와 pw가 and로 연결 되어 있기 때문에 두값이 전부 참이어야 한다는 것을 알수 있습니다.
파라미터값에 id = "1"을 넣어 보겠습니다.
파라미터값을 1개 넣을 때는 ?id=1과 같이 ?를 사용해 줍니다.
파라미터 값에 따라서 query에 나타나 있습니다.
이번엔 id=1와 pw=1을 넣어 보겠습니다.
하지만 query빼고는 달라진 점이 없습니다. Id의 값이 무엇이든 간에 pw가 참이어야 할것 같습니다.
파라미터를 다음과 같이 ?id=1&pw=1' or '1'='1 로 적은 이유는 기본적으로 pw=''이라는 문자열이 미리 작성 되어 있었고 데이터는 ' ' 로 감싸야 하기 때문에 다음과 같이 넣었습니다.
GREMLIN Clear!
해당 문제는 제가 문제 풀이에 사용한 방법만 있는 것은 아닙니다.
?id=' or '1'# -> ' or '1'%23
위의 방법은 가장 쉬운 방법이라고 생각됩니다.
?id=' union select '1'# -> ?id=%27%20union%20select%20%271%27%23
위의 방법은 union select를 이용한 sql injection입니다.
등등 여러가지 방법이 있습니다!.
'$ 웹 해킹 $ > los.rubiya.kr' 카테고리의 다른 글
[Lord of SQL_injection] #5 wolfman (0) 2019.04.05 [Lord of SQL_injection] #4 orc (0) 2019.04.05 [Lord of SQL_injection] #3 goblin (0) 2019.02.10 [Lord of SQL_injection] #2 cobolt (0) 2019.02.10 [Lord of SQL_injection] 문제풀이 시작! (0) 2019.02.10