hacking

    [CodEngn]Basic RCE_Level 10 문제풀이

    [CodEngn]Basic RCE_Level 10 문제풀이

    파일을 실행시켜 보자. PEiD로 살펴보니 ASPack 2.000 이라는 것으로 실행압축되어 있다. ASPack이 뭔지 알아보자. 먼저 올리디버거로 OEP를 찾아낸다. 00445834 가 OEP 주소가 된다. 그리고 OllyDump를 이용하여 언팩킹을 한다. 언팩킹 후 OEP주소를 가보면 정상적으로 언팩킹 된것을 볼 수 있다. 이후 String값을 확인해 보니, "Registered ... well done!" 이라는 등록 성공 메시지가 보여진다. 해당 주소로 찾아가서 분기점을 찾으면 끝날 것 같다. 확인 결과 분기점의 OPCODE는 75 55 가 된다. 따라서 최종 정답은 004458347555(OEP주소 + 분기점 OPCODE)

    [CodEngn]Basic RCE_Level 09 문제풀이

    [CodEngn]Basic RCE_Level 09 문제풀이

    StolenByte를 구하라고 문제가 나와있다. StolenByte가 무엇일까? StolenByte 는 훔친 바이트란 의미로 프로그램의 한부분의 코드를 훔쳐내어 다른 부분으로 옮겨진 코드를 말한다. 주로 옮겨지는 코드는 엔트리 포인트위의 몇개의 코드들이며 옮겨진 코드들은 OEP 주소로 점프하기 전에 위치에서 PUSH 된다.이러한 StolenByte 는 주로 패커가 프로그램을 패킹할때 볼수있다. 이렇게 옮겨진 코드들은 할당된 메모리 공간에서 실행된다. 이때문에 패킹된 프로세스가 덤프될때 StolenByte를 복구하지 못하면 프로그램은 정상적으로 작동하지 못하게 됩니다. 실행시켜 보자. keyfile을 check한다는 박스가 뜨고 '확인' 버튼을 누르면 파일을 찾을 수 없다는 메시지 박스가 출력된다. upx..

    [CodEngn]Basic RCE_Level 08 문제풀이

    [CodEngn]Basic RCE_Level 08 문제풀이

    파일의 OEP를 구하면되는 간단한 문제이다. 파일을 실행시켜 보면 계산기 프로그램이 실행된다. PEiD로 확인해 보니 해당 파일은 UPX로 실행 압축되어 있다. upx를 이용하여 압축을 해제하여 OEP를 확인 하면 될 것 같다. OEP는 01012475 이다.

    HTTP GET Flooding with Cache-Control(CC Attack)

    HTTP GET Flooding with Cache-Control(CC Attack)

    HTTP GET Flooding with Cache-Control(CC Attack) HTTP GET Flooding with Cache-Control(CC Attack)공격은 웹서버의 부하를 감소시키기 위해 캐싱 서버를 운영하여 많이 요청받는 데이터는 웹서버가 아닌 캐싱 서버를 통해 응답하도록 구축하는 경우 공격자는 HTTP 캐시 옵션(Cache-Control)을 조작하여 캐싱 서버가 아닌 웹서버가 직접 처리하도록 유도하여 웹서버의 자원을 소진시키는 서비스 거부 공격이다. 트래픽을 살펴보면 HTTP헤더의 Cache-Control값이 no-store, must-revalidate로 설정되어 있음을 알 수 있다. no-store(캐시저장금지) : 클라이언트로부터 요청받은 데이터를 디스크나 메모리, 별도의 ..

    [LOS]Level10 skeleton 문제풀이

    [LOS]Level10 skeleton 문제풀이

    쿼리문에 id값은 'guest'값이 들어가있고, 'and 1=0' 값이 붙어있다. 9번째줄을 보면 id값이 'admin'이여야 풀린다. 'and 1=0'값은 무조건 거짓이다. id값에 'admin'을 넣고 pw값 뒷부분을 주석처리한다. (pw=%27%20||%20id=%27admin%27%23)

    [LOS]Level9 vampire 문제풀이

    [LOS]Level9 vampire 문제풀이

    6번째줄에 str_replace()함수를 이용해서 'admin'을 빈값으로 대체한다.(str_replace(A,B,C) : C문자열에서 A를 찾아서 B로바꾼다) 10번째줄에 id값이 'admin'이여야지 문제가 풀린다. [풀이 1] 해당문제는 매우 간단하다. admin이 빈값으로 대체되도 admin이 되도록 하면 된다. 무슨말인지 예제를 보자. adadminmin -> admin 으로 바뀐다. admadminin -> admin 으로 바뀐다. 이런식으로 응용하면 될 것이다. [풀이 2] 또다른 방법으로 troll문제와 같은 방법으로 풀어도 된다. 소문자 admin만 대체하기 때문 :)

    [LOS]Level8 troll 문제풀이

    [LOS]Level8 troll 문제풀이

    6번째줄에 admin을 필터링하고 있다. 10번째줄에 id값이 admin이여야 문제가 풀린다. 'admin'이라는 값을 넣지않고, id값에 admin을 넣어야 한다. 처음에는 hex값으로도 넣어보고해봤으나 풀리지 않았다. 그러던중 6번째 줄에 ereg()함수가 보였다. php에서 ereg()함수는 대소문자를 구별하여 'admin'을 검사한다. (즉, admin은 필터링되어도 Admin, aDmin 등은 필터링되지 않는다.) -> preg_match()함수를 사용해야한다. 하지만 db로 들어가면 대소문자를 구별하지 않는다.

    [LOS]Level7 orge 문제풀이

    [LOS]Level7 orge 문제풀이

    6번째줄을 보면 or와 and가 필터링된다. (or : ||, and : && 로 대체) 15번째줄을 보면 정확한 pw를 입력해야 된다.(orc문제처럼 풀면된다. id값은 뭐든 상관없음) orc와 똑같은 Blind SQL Injection문제이다. (id값만 admin으로 넣어주면 됨) [*] Blind SQL Injeciton 일반적인 SQL Injection은 웹 시스템이 쿼리를 이용하여 데이터베이스를 조회하는 과정을 우회하는 방법이다. Blind SQL Injection은 다음과 같은 특정한 상황에서 사용 가능하다. 1. 쿼리문으로 참과 거짓일 때의 서버의 반응을 알 수 있어야 함. 2. 원하는 결과를 얻을 데이터베이스의 이름을 알 수 있어야 함. 이러한 상황일 때, 쿼리 문의 ascii, limi..