SQL Injection
-
[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방식으로 전송받으며, 쿼리문을 참으로 만들어주면 문제가 ..
-
[Moderate] Micro-CMS v2Wargame/Hacker101 CTF 2019. 6. 21. 01:49
Micro-CMS v1이랑 비슷하다. Micro-CMS Changelog에 접근해보았다. 'Version2는 v1의 버그를 수정한 버전이고, 사용자 인증을 추가했다. 페이지를 추가/수정을 위해서는 admin이어야 한다.' 라는 설명이 적혀있다. Edit this page를 눌러보니,, login 페이지로 이동한다. Username = admin 을 입력해보니, Unknown user가 출력된다. SQL Injection을 시도해보자. Error가 발생한다. 이를 보니 Injection Point는 Username이다. 마지막에 주석을 안해줘서 '의 갯수가 맞지 않아 에러가 발생하였다. '의 갯수가 맞도록 아래와 같은 구문을 이용하여 True가 되도록 하였다. (그냥 ' or true# 로 해도 된다.) ..
-
[Webhacking.kr] 59번 풀이Wargame/webhacking.kr (old) 2019. 5. 11. 03:08
소스를 보자. 로그인하여 나온 lv값이 admin이면 문제가 풀린다.Join 부분의 insert 문을 보면 lv값을 guest로 지정해준다. phone은 길이가 20미만으로 제한되어 있고, eregi 함수에 의해 몇몇 문자열이 필터링되어 있다.id값으로는 admin이 필터링되어 있다.insert문에서 phone의 값은 '로 묶여있지 않은 것을 보니 문자열이 아닌 정수형 값이라는 것을 추측할 수 있다. 우선 Join하고,, 로그인하였다. lv의 값은 guest이다. lv값에 다른 값이 나올 수 있는 값들을 넣어보았다. insert into c59 values('inid',1,1)--',1,'guest') id : inid, phone : 1, lv : 1 일 것으로 예상하였으나, 아니었다.id 값은 싱글 ..
-
[Webhacking.kr] 51번 풀이Wargame/webhacking.kr (old) 2019. 5. 8. 21:44
오른쪽 아래에 잘보면 Source가 있다.클릭해서 소스를 보자. id가 admin이면 풀리는 SQL Injection 문제이다.SQL 쿼리문이 and로 되어 있기 때문에 pw부분을 주석 처리해 인증을 우회하기로 하였다. id : admin'-- , pw : 1 Wrong이 뜬다. 이 방법으로는 인증우회가 안된다.admin의 pw를 알아내거나, 다른 방법으로 인증을 우회해야한다.pw가 md5 함수에의해 해시화되고있다. 그런데 의심스럽게 md5의 인자로 true가 전달된다. md5(string \$str [, bool \$raw_output ])RSA Data Security, Inc. MD5 Message-Digest Algorithm을 사용하여 str의 MD5 해시를 계산하여반환하는 함수로 raw_out..