본문 바로가기 메뉴 바로가기

곰식이

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

곰식이

검색하기 폼
  • 분류 전체보기 (75)
    • 워게임 (70)
      • 써니나타스_SuNiNaTaS (10)
      • webhacking.kr (37)
      • Lord of SQL injection (23)
    • 기타 (2)
      • 공부 (1)
    • 프로젝트 (0)
      • 챗봇 (0)
  • 방명록

워게임 (70)
[LOS] 25번. Umaru

100) exit("HeHe"); // prob_umaru 테이블에 저장된 flag 값 조회 $realflag = @mysql_fetch_array(mysql_query("select flag from prob_umaru where id='{$_SESSION[los_id]}'")); // 임시 테이블(prob_umaru_temp)을 만들고, prob_umaru의 데이터를 임시테이블에 넣는다. @mysql_query("create temporary table prob_umaru_temp as select * from prob_umaru where id='{$_SESSION[los_id]}'"); // 내가 입력한 값으로 임시테이블의 flag값을 수정한다. @mysql_query("update..

워게임/Lord of SQL injection 2019. 6. 1. 03:22
[LOS] 22번. DARK EYES

query : {$query}"; $_GET[pw] = addslashes($_GET[pw]); $query = "select pw from prob_dark_eyes where id='admin' and pw='{$_GET[pw]}'"; $result = @mysql_fetch_array(mysql_query($query)); if(($result['pw']) && ($result['pw'] == $_GET['pw'])) solve("dark_eyes"); highlight_file(__FILE__);?>22번 Dark Eyes의 코드이다.21번 문제와 비슷한 유형이지만 필터링이 추가되어 더이상 if문을 사용할 수 없게 되었다. 21번을 풀 때 사용했던 select 1 union selec..

워게임/Lord of SQL injection 2019. 5. 28. 17:39
[LOS] 21번. iron golem

query : {$query}"; $_GET[pw] = addslashes($_GET[pw]); $query = "select pw from prob_iron_golem where id='admin' and pw='{$_GET[pw]}'"; $result = @mysql_fetch_array(mysql_query($query)); if(($result['pw']) && ($result['pw'] == $_GET['pw'])) solve("iron_golem"); highlight_file(__FILE__);?>21번 irongolem의 코드이다.코드를 분석해보니, 쿼리 결과에 대한 반응은 따로 없고,쿼리 중 에러에 대한 반응만 있다. 이 에러에 대한 반응으로 SQL Injection을 때리면..

워게임/Lord of SQL injection 2019. 5. 25. 02:26
[LOS] 20번. dragon

query : {$query}"; $result = @mysql_fetch_array(mysql_query($query)); if($result['id']) echo "Hello {$result[id]}"; if($result['id'] == 'admin') solve("dragon"); highlight_file(__FILE__); ?> 20번 dragon의 코드이다. 필터링 자체는 되는게 없으나, 우리의 입력값을 처리하는 부분이 주석처리되어있다.해당 문제는 생각보다 상당히 쉽게 클리어 할 수 있었다.#은 해당 라인만 주석처리하는 문자로, 우리가 개행문자를 이용해서 주석처리를 무효화 할 수 있다. 개행문자를 이용하여 위 처럼 쿼리를 만들어주면 된다. ?pw=asd' %0a AND pw ='..

워게임/Lord of SQL injection 2019. 5. 24. 12:23
[LOS] 19번. Xavis

query : {$query}"; $result = @mysql_fetch_array(mysql_query($query)); if($result['id']) echo "Hello {$result[id]}"; $_GET[pw] = addslashes($_GET[pw]); $query = "select pw from prob_xavis where id='admin' and pw='{$_GET[pw]}'"; $result = @mysql_fetch_array(mysql_query($query)); if(($result['pw']) && ($result['pw'] == $_GET['pw'])) solve("xavis"); highlight_file(__FILE__); ?>19번 X..

워게임/Lord of SQL injection 2019. 5. 24. 12:09
webhacking.kr 61번

61번의 소스이다. (), union, select, challenge, from, , , by가 필터링되고 있다. 쿼리 부분을 보면 우리가 입력한 값에 대한 칼럼을 조회하고 있는 것을 볼 수 있다. 아마 이 문제는 mysql을 이제 막 배워가는 사람이 제일 잘 풀지 않을까 .... 하는 생각이 들었다 제일 처음 배울때 문자열 출력을 위해 select "admin" 이런식으로 해본 경험이 있을것이다. 그 결과는 admin이고, 컬럼명 또한 admin으로 나온다. 그러므로 우리는 alias라는 별칭 지정 기능을 활용하여 칼럼명을 id로 지정을 해주어야 한다. select "admin" id 위 쿼리의 결과는 admin이며 컬럼명 또한 id로 나오는 것을 볼 수 있을것이다. 그렇다면 문제 쿼리의 입력값 부분..

워게임/webhacking.kr 2019. 5. 14. 11:44
[LOS] 18번. NIGHTMARE

6) exit("No Hack ~_~"); // 쿼리 실행 $query = "select id from prob_nightmare where pw=('{$_GET[pw]}') and id!='admin'"; echo "query : {$query}"; $result = @mysql_fetch_array(mysql_query($query)); // 쿼리의 결과가 있으면 클리어 ! if($result['id']) solve("nightmare"); highlight_file(__FILE__); ?>18번 Night Mare 의 코드이다. 우선 문제와 관련 없는 문자와, 주석 처리를 할 수 있는 몇몇가지들을 필터링하고있고,pw의 길이를 6자 초과로 입력하지 못하도록 하고있다.그리고..

워게임/Lord of SQL injection 2019. 5. 13. 12:31
[LOS] 17번.Succubus

query : {$query}"; $result = @mysql_fetch_array(mysql_query($query)); if($result['id']) solve("succubus"); highlight_file(__FILE__); ?> 17번 Succubus의 코드이다.필터링 되는 것 자체는 별게 없다 ...하지만 저 필터링 우회가 너무 어려운 거시다 ㅎ $query를 보면 select id from prob_succubus where id ='입력값' and pw='입력값' 이렇게 입력값들이 '에 쌓여져있다.그렇다면 우리는 입력 값에 '를 넣어서 우리의 입력값을 조건절로 인식할 수 있도록 해야하지만,'가 필터링 되고 있는 것을 볼 수 있다. 그래서 한참 고민을 했다. '를 우회하는 방..

워게임/Lord of SQL injection 2019. 5. 12. 03:35
[LOS] 16번.ZOMBIE ASSASSIN

query : {$query}"; $result = @mysql_fetch_array(mysql_query($query)); if($result['id']) solve("zombie_assassin"); highlight_file(__FILE__); ?>16번 Zombie Assassin 의 코드이다.별로 특이한 점은 안보이고, ereg를 이용하여 필터링하고 있는 것 말고는 없었다. ereg함수 취약점에 대해 검색해봤는데,문자열의 처음에 NUL을 입력하면 문자열의 끝으로 인식하게 되어 NUL 뒤의 문자들은 검사하지 않는 취약점이 있다고 한다.(참고 : https://hackability.kr/entry/PHP-%EB%AC%B8%EC%9E%90%EC%97%B4-%ED%95%84%ED%84%B0%..

워게임/Lord of SQL injection 2019. 5. 10. 03:17
[LOS] 15번. ASSASSIN

query : {$query}"; $result = @mysql_fetch_array(mysql_query($query)); if($result['id']) echo "Hello {$result[id]}"; if($result['id'] == 'admin') solve("assassin"); highlight_file(__FILE__); ?>15번 ASSASSIN의 코드이다.의외로 쉽게 풀었다.이렇게 푸는게 맞나? 싶을정도로 ㅎㅎ 문제를 풀기위해서는 우선 비밀번호의 길이를 알아야했다.like 구문에서 _를 이용해서 비밀번호의 길이를 알아낼 수 있었다.(like 구문에서의 와일드카드에 대해서는 아래 링크를 참고하세요.)( https://zetawiki.com/wiki/SQL_LIKE_%EC%..

워게임/Lord of SQL injection 2019. 5. 10. 03:07
이전 1 2 3 4 ··· 7 다음
이전 다음
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
  • 패스워드 복잡도 설정
  • Cent OS 8
  • SuNiNaTaS3번
  • Webhacking.kr 회원가입
  • 써니나타스 6번
  • suninatas1번
  • 써니나타스 8번
  • SuNiNaTaS 6번
  • Root원격접속차단
  • Cent OS8
  • webhacking.kr 58번
  • SuNiNaTaS 22번
  • SuNiNaTaS 7번
  • SuNiNaTaS2번
  • 써니나타스3번
  • SuNiNaTaS 23번
  • 패스워드 파일 보호
  • Suninatas
  • 써니나타스 7번
  • 써니나타스2번
  • webhacking.kr
  • 써니나타스
  • SuNiNaTaS 8번
  • SuNiNaTaS 4번
  • 계정 잠금 임계값 설정
  • webhacking.kr 42번
  • 써니나타스 22번
  • 써니나타스 23번
  • 써니나타스 4번
  • 해시 디코딩
more
«   2025/07   »
일 월 화 수 목 금 토
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함

Blog is powered by Tistory / Designed by Tistory

티스토리툴바