[Webhacking.kr] 6번
2021. 5. 3. 21:24
Wargame/Webhacking.kr
쿠키값 변조 문제 처음에 쿠키값이 설정되어 있지 않은 경우 default 로 guest와 123qwe 을 각각 id, pw로 해서 20번 base_64 encoding 하고, 규칙대로 replace 한다. User, password 쿠키값이 존재할 경우, 아까와는 반대로 replace 하고, 20번 base64_decode 한다. 이때 id, pw 값이 각각 “admin, nimda” 면 solve()가 실행된다. 그러면 반대로 “admin, nimda”를 base64_encode 해주고, replace 해줘서 나오는 값을 쿠키에 넣어주면 될 것 같다. -> 위를 컴파일하면 나오는 id, pw 값을 edit this cookie 를 이용해 쿠키 값을 변조해주면 되는 문제였다.
[Webhacking.kr] 4번
2021. 5. 3. 20:28
Wargame/Webhacking.kr
레인보우 테이블 문제 암호화된 해시를 푸는 문제인 것 같다.. ... 세션값은 10000000, 99999999 사이의 임이의 값 + "salt_for_you"이고, 출력하는 해시값은 sha1을 500번 돌린 값이다. 문제의 핵심은 출력된 해시값을 보고 sha1 알고리즘을 돌리기 전 세션값을 찾는 것이다. 그런데, 해시 알고리즘은 단방향 암호화 기법으로 결과값을 통해 입력값을 알아낼 수 없다. 브루트 포스 공격 또한 막아져있다. -> 레인보우 테이블을 만들어서 풀어야 한다. 단방향 암호화 알고리즘의(=해시 알고리즘) 특징인 '문자열 A를 암호화하면 어떤 경우에도 문자열 B가 된다'는 특징을 이용하여, 특정 문자열들에 대한 암호화를 통해 도출된 결과값들을 모두 저장한 것이 레인보우 테이블이다. 아예 입력값..
[Webhacking.kr] 1번
2021. 5. 3. 20:14
Wargame/Webhacking.kr
쿠키 인젝션 문제 다음이 문제의 핵심 부분이다. 쿠키는 $_COOKIE["쿠키이름"]을 통해 접근할 수 있다. 위 부분을 보고 ‘user_lv’ 쿠키 값으로 5초과 6미만일 경우 solve(1) 될 것이라 추측하였다. Edit this cookie (크롬 플러그인)을 통해서 ‘user_lv’ 라는 쿠키 값으로 5.5를 줬다.
[Webhacking] 파일 업로드 취약점 공격
2021. 4. 22. 17:18
Hacking/Webhacking
파일 업로드 취약점 공격 웹 서비스 첨부 파일, 환경 설정 미흡을 이용하여 악의적인 스크립트가 포함된 파일을 업로드 한 후에 웹 서버에 침투를 하는 공격 공격자는 서버 사이드 스크립트(PHP, JSP, .NET 등)을 이용하여 웹쉘(WebShell)을 제작 웹쉘(WebShell)은 원격에서 웹 서버를 제어하기 위한 목적으로 만들어졌으나, 지금은 웹쉘 = 악성코드라고 분류를 하여 안티 바이러스에서 탐지함 게시판 첨부 파일, 이력서 첨부 파일, 이미지 첨부 파일, 웹 채팅방 파일 공유 기능 등에서 발생 직접 만들어 사용할 수 있으나, https://github.com/tennc/webshell 같은 깃허브에서 쉽게 구할 수 있음 파일 업로드 취약점 공격의 목적 1. 웹 서버를 통해 데이터베이스의 정보를 획득..
[Webhacking] BeEf 를 이용한 XSS 취약점 공격
2021. 4. 15. 19:32
카테고리 없음
The Brower Exploitation Framework - 웹 브라우저 기반의 공격 BeEF는 웹 브라우저를 공격하기 위한 여러 공격 모듈이 포함된 공격 테스트 프레임워크이다. 게시판에 스크립트를 삽입해서 특정한 행동을 취하게 하는 공격 기법인 XSS 공격 모듈을 만드는데 특화된 툴이다. 1. 다음과 같이 설치한 뒤, beef-xss 가 있는 디렉토리로 이동해 실행하면 된다. sudo apt-get update sudo apt install beef-xss cd /usr/share/beef-xss ./beef 2. UI URL 접속 3. 로그인 이제부터 BeEf 를 이용해 Bee-box 를 대상으로 XSS 취약점 공격을 실습해보겠다. -> hook.js 가 페이지에 삽입되어 BeEf에 후킹되었음을 ..
[Webhacking] XSS 취약점 공격
2021. 4. 15. 16:50
Hacking/Webhacking
XSS 취약점 공격이란? 클라이언트 스크립트 (Javascript, VBscript 등) 를 이용하여 사용자에게 특정 행위를 하게 해서 악의적인 목적으로 이용하는 것 XSS 취약점을 이용한 공격 유형 1. 악성코드 배포 공격자는 게시판에 악의적인 행위를 하는 스크립트를 삽입 사용자들이 해당 게시물에 접근했을 때 악성코드 배포사이트로 유도 사용자는 자신도 모르게 악성코드(랜섬웨어, 개인정보 유출 등)에 감염 2. 다른 사용자의 권한 획득 공격자는 게시판에 악의적인 행위를 하는 스크립트를 삽입 사용자들이 해당 게시물에 접근했을 때 자신의 쿠키 정보를 공격자 서버에 전달 및 저장 공격자는 획득한 쿠키 정보를 이용하여 다른 사용자의 권한 획득 3. 피싱 사이트 유도 공격자는 게시판에 악의적인 행위를 하는 스크립..
[Webhacking] Time based SQL Injection 실습
2021. 4. 11. 18:55
Hacking/Webhacking
실습 환경 : kali-linux(공격자 pc) ---> bee-box(희생자 pc) kali-linux에서 bee-box ip로 접속 앞에서 배운 error based sqli, blind sqli 과 달리 존재하냐 존재하지 않느냐는 (참 거짓) 도 뜨지 않는다. 이럴 때 sleep() 을 이용해 time based sqli을 할 수 있다. 다음과 같이 입력했을 때, 실제로 sleep()이 먹혀서 계속 응답을 기다리는 현상을 볼 수 있다. time based sqli은 블라인드 인젝션 + 뒤에 sleep()를 붙인 것으로, 값이 참일 때만 반응한다. ' or 1=1 and substring(database(), 1, 1) = 'b' and sleep(1)# ' or 1=1 and ascii(substr..
[Webhacking] Blind SQL Injection 실습
2021. 4. 11. 18:33
Hacking/Webhacking
실습 환경 : kali-linux(공격자 pc) ---> bee-box(희생자 pc) kali-linux에서 bee-box ip로 접속 Error based SQLi 과 달리 존재한다, 존재하지 않는다의 정보(참 or 거짓)만 알 수 있다. DB 정보 확인(bWAPP) 1. 길이를 물어본다. 2. 문자열 검색 데이터베이스 첫번째 값에서 하나를 가져온다는 뜻. ' or 1=1 and ascii(substring(database(), 1, 1)) = 98# 다음과 같이 ascii 코드 값으로 물어보면, for문으로 매칭 시킬 수 있다. DB 내 테이블에서 칼럼 정보들 하나씩 가져오기 table_name이 'users'인 곳의 column_name에서 첫번째 꺼를 가져오기(limit 0, 1 이용해서) -> ..