SQL Injection

보안/LOS

[LOS] ouroboros

LOS : https://los.rubiya.kr/ ✔️ 문제 문제는 다음과 같다. ✔️ 풀이 풀이를 위한 코드는 다음과 같다. if(($result['pw']) && ($result['pw'] === $_GET['pw'])) solve("ouroboros"); 패스워드만 찾아내면 되는 간단한 문제라고 생각이 들기에는 단계가 높아진 상태인데, 페이로드를 다 넣어봤지만, 아무것도 되는게 없었다. 이번에는 union 필터링이 없으니까 한번 넣어보았다. 단서를 하나 얻었다. 조회를 하게 되면 pw 값이 내가 입력한 select 1이 출력되는 것을 확인할 수 있는데 이는 위에서 본 것처럼 pw가 존재하지 않기 때문이다. 그렇다면, pw 값을 입력($_GET['pw'])하면서 동시에 $result['pw']와 어..

보안/wargame

[webhackingkr] old-03

wargame : https://webhacking.kr/ ✔️ 문제 갑자기 커다란 스도쿠가 나온다. ✔️ 풀이 왼쪽에 나오는 숫자는 행의 숫자를 이야기하는 것 같고, 상단에 나오는 숫자는 열의 숫자를 이야기하는 것 같다. 참고로 5x5에 해당하는 크기만 색깔이 변하는 과정을 거친다. 맨 아래 5개부터 채우고 나면, 밑에서 두번째 11은 3에 해당하는 곳에 들어갈 수 밖에 없고, 가운데 3은 3과 3에 해당하는 곳에 각각 들어가면 된다. 맨 위의 숫자 11은 1+1, 111은 1+1+1로 생각하면 쉽다. 그리고 나서 제출해보자. 클리어! 라고 하기에는 새로운 제출 버튼이 있다. hidden으로 숨겨진 곳에 answer로 value가 들어가고 그 밑에는 입력할 text가 id로 들어가는 것 같다. 제출하게..

보안/LOS

[LOS] phantom

LOS : https://los.rubiya.kr/ ✔️ 문제 문제는 다음과 같다. 지금까지 본 문제 중에서 가장 긴 코드인 것 같다. ✔️ 풀이 풀이를 위한 코드는 다음과 같다. if(($result['email']) && ($result['email'] === $_GET['email'])) { mysqli_query($db,"delete from prob_phantom where no != 1"); solve("phantom"); } 보이지 않는 이메일을 입력하면 되는 문제로 보인다. 해당 이메일을 입력하면 no가 1이 아닌 것을 삭제하면서 solve가 되는데.. 일단 joinmail을 받을 때, duplicate 라는 문자열을 필터링 하는 것으로 보이고, insert into 에 해당하는 삽입을 하..

보안/LOS

[LOS] frankenstein

LOS : https://los.rubiya.kr/ ✔️ 문제 문제는 다음과 같다. ✔️ 풀이 풀이를 위한 코드는 다음과 같다. if(($result['pw']) && ($result['pw'] == $_GET['pw'])) solve("frankenstein"); pw를 알아내야 풀리는 문제로 보인다. 현재 아이디가 frankenstein으로 설정되어 패스워드를 받고 있고, union 구문과 괄호가 필터링으로 걸려있다. 하나의 힌트로는 db 에러가 발생하였을 때, error라는 exit 하게 되는데 이것을 바탕으로 Error Based Sql Injection을 시도해보면 좋을 것 같다. 현재 필터링 된 괄호는 case 구문으로 우회하는 방법이 있다고 한다. 다음과 같이 case 구문을 활용하여 sql..

보안/wargame

[webhacking.kr] old-02

wargame : https://webhacking.kr/ ✔️ 문제 제한된 구역에 들어왔다. ✔️ 풀이 해당 메인 페이지의 주석을 살펴보면, 해당 페이지 이외에도 admin 페이지가 존재하는 것을 확인할 수 있다. 해당 페이지에서 잘못된 패스워드를 입력하게 되면, wrong password 라면서 alert가 실행되게 된다. 더 이상 알 수 없는 정보가 없으므로 통신에서 받아오는 값이 있는지 확인을 하게 되면 쿠키값이 존재한다. 메인 페이지의 주석에서 현재 시간과 날짜를 기준으로 하는 쿠키 값을 확인할 수 있는데, 해당 쿠키 값을 조작하여 sql injection 등 공격을 시도해보도록 하자. Time 쿠키의 값이 True라면, Time 쿠기의 값이 False라면, 다음에 해당하는 값들이 나오게 된다...

보안/LOS

[LOS] blue_dragon

LOS : https://los.rubiya.kr/ ✔️ 문제 문제는 다음과 같다. 여러 필터링이 걸려있는 모습이다. ✔️ 풀이 풀이를 위한 코드는 다음과 같다. if(($result['pw']) && ($result['pw'] == $_GET['pw'])) solve("blue_dragon"); 패스워드를 찾아야하는 문제로 보이고, id와 pw 값에 싱글쿼터와 백슬래쉬에 대한 필터링이 걸려있는 것으로 보인다. ???? 아무 생각없이 guest, guest 집어넣었는데 갑자기 일치했다.. 이걸 노리고 한게 아닌데,, 패스워드는 복잡하게 만들것,, 아무튼 앞서서 푼 문제들 중에서 해결할만한 방법이 쉽게 떠오르지 않아서 여러 sql injection 페이로드를 찾아보던 중 sleep을 활용한 time bas..

dDong2
'SQL Injection' 태그의 글 목록