-
[LOS] orcWargame/Lord of SQLInjection 2019. 7. 4. 23:52
[orc] https://los.rubiya.kr/chall/orc_60e5b360f95c1f9688e4f3a86c5dd494.php 쿼리 문이 참일 경우에는 Hello admin을 페이지에 출력해주며, pw 값을 addslashes 함수로 처리한다. 또한 쿼리의 결과 값의 pw와 입력해준 pw 값이 동일해야 한다. [ addslashes(string $str) ] 작은 따옴표와 큰 따옴표, 역슬래쉬 같은 특정 문자 앞에 역 슬래쉬 문자를 붙여주는 함수 db 값으로 입력 시 에러 방지 위해 사용 addslashes 처리되기 때문에 Blind SQL Injection을 이용해 pw의 값을 직접 알아내야한다. 1. pw 길이 알아내기 ?pw=' or length(pw)=n# 2. pw 한 글자씩 알아내기 ?..
-
[LOS] goblinWargame/Lord of SQLInjection 2019. 7. 4. 23:15
[goblin] https://los.rubiya.kr/chall/goblin_e5afb87a6716708e3af46a849517afdc.php preg_match함수에 의해 '와 "가 필터링되어 있으며, 쿼리문에 id 값은 guest로 설정되어 있지만 id가 admin이어야 문제가 풀린다. select id from prob_goblin where id='guest' and no=guest의 no가 아닌 수 or id='admin' 우선 guest의 no가 아닌 값을 알아보았다. guest의 no는 1이다. id=admin을 입력하기 위해서, '나 "를 사용하지 않고, 문자열로 입력하기 위해서는 char, hex, binary를 사용할 수 있다. 1. ?no=2 or id=char(97,100,109,..
-
[LOS] coboltWargame/Lord of SQLInjection 2019. 7. 4. 22:19
[cobolt] https://los.rubiya.kr/chall/cobolt_b876ab5595253427d3bc34f1cd8f30db.php gremlin문제와 거의 동일하나, pw의 값이 md5 해시화되고 있으며, 쿼리문의 결과 값이 admin이어야 문제가 풀린다. id의 값에 admin을 넣어주고, 참으로 만들면 문제가 풀릴 것 같다. ?id=admin' or true%23 풀리지 않았다;; 아마도 database에 저장된 첫 번째 값이 rubiya인 것 같다. or true 때문에 가장 첫 번째 값인 rubiya가 출력되었을 것이다. id가 admin인 값만 출력되게 하기 위해 pw 부분을 주석처리 해주었더니,,, ?id=admin'%23 Clear!
-
[LOS] gremlinWargame/Lord of SQLInjection 2019. 7. 4. 22:06
[gremlin] https://los.rubiya.kr/chall/gremlin_280c5552de8b681110e9287421b834fd.php 웹 사이트에서 클라이언트가 서버로 데이터를 전송하는 방법으로 Get방식과 Post방식이 있다. [ Get 방식 ] url에 변수를 포함시켜 전송하는 방식으로 url에 데이터가 노출되고, 길이 제한이 있다. ex) grini25.com/test/?id='grini'&pw='1234' [ Post 방식 ] 데이터가 본문(Body)에 포함되어 전송하는 방식 ex) POST /test/ HTTP /1.1 Host: grini25.com id='grini'&pw='1234' 소스 코드를 보니 id와 pw는 get방식으로 전송받으며, 쿼리문을 참으로 만들어주면 문제가 ..
-