Hacking/Web.

Lord of sql injection gremlin write up

2017. 3. 16. 13:02

LOS gremlin write up



예전에 디미고 실적물을 만들 당시, Lord of SQL Injection을 풀이했었는데, 블로그 포스팅이 이해가 안된다는 말이 있어서 복습도 할 겸 다시 write up을 올린다. (필자는 2017년 3월 초에 올클리어했다.)



http://los.eagle-jump.org/gremlin_bbc5af7bed14aa50b84986f2de742f31.php?id=%27||1%23


이렇게 간단하게 우회할 수 있다.



솔직히 이건 모르시면, SQL 인젝션의 기초부터 차근차근 공부해야 한다고 생각한다. 


위의 쿼리는 생각보다 간단한 쿼리이다. 

select id from prob_gremlin where id=''||1#' and pw=''

노란색으로 하이라이트된 부분이 '#(%23)' 으로 주석 처리가 된다. 

그래서 오류가 나지 않기 때문에 id=''||1 이 참이 되는 것이다. 


|| 은 거의 모든 프로그래밍 언어에서 OR 연산이라는 뜻이므로 잘 이해했다고 믿는다.  


where 문은 SQL에서 조건을 찾는 것인데, 

뒤의 조건은 id가 ' ' 이거나, 1이 true 이면 id를 불러오는 것이다. 


MySQL에서 1은 true 이므로 id를 무조건 불러오는 쿼리가 완성된다. 






해킹문제도 수학문제와 정말 굉장히 비슷한 편이다. 같은 문제에 대해서 정말 많은 풀이들이 존재한다. 분명 내 블로그에서 서술한 방법 외에도 많은 풀이들이 있을 것이다. 


다른 블로그도 찾아보면서 Lord of SQL Injection을 풀어보길 바란다. 

풀이를 보면서 푸는 것은 되도록이면 추천하지 않는다.


'Hacking > Web.' 카테고리의 다른 글

[wargame.kr] Simple Board 5개월만에 풂  (0) 2017.04.09
sqli whrere 필터링 우회 bypassing  (0) 2017.03.26
보스턴키파티...  (1) 2017.02.26
[wargame.kr] SimpleBoard solving...  (0) 2017.02.25
sql injection tech  (0) 2017.02.22