[CTF] HackPack CTF 2021 writeup
2021. 4. 22. 15:37
Hacking/CTF
Baby Calc 문자열 두 개를 입력 받아서 "python3 -c 'print(%s+%s)'" 형식으로 저장하고 그것을 system 함수를 통해 명령어를 실행시켜준다. 1) "python3 -c 'print()';/bin/bash;#" 2) open("flag", "rt"). read() "N"ot "G"am"I"ng a"N"ymore in "X"mas debug 라는 이름의 hidden type 으로 정의된 input 태그가 보인다. value 값을 1로 변경해보았다. location /maybehereimportantstuff 로 이동해보았다. Indead v1 웹셀 파일을 업로드 하였는데 잘 안되서 소스코드를 확인하기 위해 index.phps 로 가보았다. core.php에서 get imagesi..
[Webhacking] XSS 취약점 실습
2021. 4. 15. 17:33
Hacking/Webhacking
Stored XSS 취약점 실습 환경 : kali-linux-2021(공격자 pc) -> bee-box Reflected XSS 취약점 DB에 저장이 되지 않음. reflected 의 경우 사이트에서 많이 차단됌. -> info 정도의 역할 "> 다음의 코드를 주소창에 삽입
[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 이용해서) -> ..
[Webhacking] Error Based SQL Injection 실습
2021. 4. 10. 23:37
Hacking/Webhacking
실습 환경 : kali-linux(공격자 pc) ---> bee-box(희생자 pc) kali-linux에서 bee-box ip로 접속 bee-box의 DB 확인 mysql -u root -p kali-linux(공격자 pc)에서 DB 정보 획득 위 명령어를 통해 db 칼럼의 개수가 7개인 것을 확인했다. 또 뒤에 숫자 2,3,5,4 가 붙은 것을 알 수 있다. @@version을 통해 버전 정보 확인 information_schema로부터 테이블 정보 갖고옴. information_schema 로부터 column_name을 얻어옴. 우리가 관심있는 password, id 등의 데이터를 발견함. users로부터 login, password, email에 해당하는 데이터를 얻음 알아낸 password가 S..
[Webhacking] SQL Injection
2021. 4. 10. 23:12
Hacking/Webhacking
SQL Injection 이란? SQL Query를 처리하는 과정에서 예상치 못한 입력 값에 의해 DBMS 정보 노출, 특정 명령어 실행 등이 발생하는 취약점 공격자는 정상적인 값 대신 자신이 원하는 값을 웹에 요청하고, 웹은 데이터베이스에 요청을 한 뒤 결과 값이 웹을 통해 노출되거나 유추할 수 있는 형태로 출력됨 -> 웹서버에서 입력값 검증을 제대로 하지 않아서 일어나는 취약점 SQL Injectoin을 이용한 인증 우회 인증 처리 프로세스에서 '참' 값을 만들어주면서 정상적인 계정 정보 입력을 우회하게 됨 쿼리 질의문 예 Select * from members where id=admin and pass=1234 원래 위와 같은 형태인데, 아래와 같이 '참'으로 만들어서 우회 Select * from..