Information Security ˗ˋˏ ♡ ˎˊ˗
반응형

Security/WebHacking 25

[WebGoat] String SQL injection 풀이

실행환경: burf suite, WebGoat 문제 SQL injection attacks은 모든 데이터베이스 기반 사이트에 심각한 위협이 된다. 해당 문제는 사용자가 자신의 신용 카드 번호를 확인할 수 있다. 모든 신용 카드 번호가 표시되도록 SQL 문자열을 삽입한다. 풀이 이름을 입력하는 부분에 먼저 Smith만 검색하여 어떻게 SQL 질의문이 작동되는지 살펴보았다. Smith 뿐만 아니라 모든 사용자의 정보를 알기 위해서 해당 질의문에 Where절이 항상 참이 되도록 문자열을 삽입해보았다. Smith'or'1'='1 그 결과 모든 사용자의 카드번호를 확인할 수 있었다.

Security/WebHacking 2020.09.10

[Attack] CSRF(사이트 간 요청 위조, Cross-site request forgery)

CSRF(사이트 간 요청 위조, Cross-site request forgery) 1. CSRF 정의 웹 애플리케이션 취약점 중 하나로 사용자가 자신의 의지와 무관하게 공격자가 의도한 행동을 하여 특정 웹페이지를 보안에 취약하게 한다거나 수정, 삭제 등의 작업을 하게 만드는 공격방법 조작된 요청정보가 삽입된 게시글을 클릭하면 사용자의 권한으로 의도하지 않은 조작된 요청을 웹 서버에 전송하도록 하여 게시판 설정 변경, 회원 정보 변경, 패스워드 변경 등의 행위가 발생 XSS CSRF 발생위치 클라이언트에서 발생 서버에서 발생 차이점 사용자가 특정 사이트를 신뢰한다는 점을 공격 특정 사이트가 사용자의 브라우저를 신뢰한다는 점을 공격 XSS는 사용자가 특정 사이트를 신뢰한다는 점을 공격하는 거라면, CSRF는..

Security/WebHacking 2020.09.09

[WebGoat] Stored XSS Attacks 정의 및 문제 풀이

Stroed XSS Attacks 정의 및 문제 풀이 풀이 Title과 Message에 입력 Title: test Message: 결과 test라는 이름의 버튼이 생긴 것을 볼 수 있다. 그 후에 버튼을 클릭했을 때, XSS라는 alert 창이 뜨면서 성공!! 자세한 설명 Cross-Site Scripting (XSS) 웹 페이지에 악의적인 스크립트를 포함시켜 사용자 측에서 실행되도록 유도할 수 있다. 사용자 측 언어: HTML, JavaScript, CSS 등 ex) 해당 구문은 자바스크립트 구문으로 XSS라는 문구를 경고창으로 띄우라는 내용이다. 종류 - Stored XSS: DB에 저장이 되고 그것을 가지고 보내는 역할 - Reflact XSS 막는 방법 - 필터링 - 모든 것을 다 문자열로 받는다..

Security/WebHacking 2020.09.09

[WebGoat] WebGoat7.1 설치 및 실행

1. 필요한 파일 - WebGoat7.1 - jdk 7 version 2. 다운로드 2.1 WebGoat https://github.com/WebGoat/WebGoat/releases/download/7.1/webgoat-container-7.1-exec.jar 2.2 JDK 설치 https://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html 3.3 환경변수 설정하기 시스템 속성 -> 환경 변수 -> path에 추가하기 3. 실행 CMD 창 -> java -jar webgoat-container-7.1-exec.jar 접속하기 http://localhost:8080/WebGoat/login..

Security/WebHacking 2020.08.26

[HackCTF Web] 마법봉 (매직해시 취약점)

문제 풀이 flag 값이 나오기 위해서는 md5로 숫자 240610708 값을 암호화한 값과 sha1으로 입력값을 암호화한 값이 같으면 플래그가 출력된다. 이때 해시 값이 같다고 되는 경우로는 "매직 해시(Magic Hash)"를 이용한다. 밑에서 자세히 살펴보겠지만, 간단하게 Magic Hash란? 비교 연산을 할 때, type juggling을 이용하여 서로 다른 값이 같은 값으로 인식되도록 하는 특수한 동작이다. www.whitehatsec.com/blog/magic-hashes/ Magic Hashes | WhiteHat Security For more than the last decade, PHP programmers have been wrestling with the equals-equals ..

Security/WebHacking 2019.11.28

[HackCTF Web] Read File

문제 풀이 http://ctf.j0n9hyun.xyz:2021/?file=flag.php http://ctf.j0n9hyun.xyz:2021/?command=flag.php http://ctf.j0n9hyun.xyz:2021/?command=123.php command 뒤에 어떠한 값을 넣어도 위와 같은 페이지만 나온다. http://ctf.j0n9hyun.xyz:2021/?command=flaggoogle.com 해당 url을 입력했을 때는 맨 처음 구글 페이지가 뜨는 것을 볼 수 있다. 서버에서는 flag라는 문자열을 필터링하고 있다는 것을 알게 되었다. 필터링을 우회한 후에 command=flag.php로 입력을 해야 원하는 플래그 값이 나올 것이다. http://ctf.j0n9hyun.xyz:20..

Security/WebHacking 2019.11.28

[HackCTF Web] Guess me

문제 풀이 아무 값이나 넣어서 제출하기를 눌렀을 때, 나오는 모습이다. 처음 문제를 보았을 때, 모르는 개념이 많아서 먼저 함수나 php코드 형태를 검색해봤다. PHP 개념 1. extract($_GET) : PHP에서는 일반적으로 $_GET[aaa]를 $aaa로 쓸 수 있다. 하지만 서버 설정이나 버전에 따라서 반드시 $_GET[aaa]를 써야 하는 경우가 있다. 이 때 본문에 $_GET[aaa] 대신 $aaa가 쓰여있다면 오작동을 일으키게 된다. extract함수는 배열의 값을 꺼내주는 역할을 한다. 즉 $_GET[aaa], $_GET[bbb] 가 있다면 $aaa, $bbb로 쓸 수 있도록 만들어준다. 2. trim 함수 : 시작과 끝 문자열에서 공백(또는 문자)을 제거하는 trim 함수 3. fil..

Security/WebHacking 2019.11.28

[HackCTF Web] 보물

문제 풀이 page 1 버튼을 누르면, 랜덤한 해쉬 값들이 나오는 것을 볼 수 있었다. page 3 버튼 말고 url을 통해 http://ctf.j0n9hyun.xyz:2025/?page=10 을 입력했을 때도 각각 다른 값들이 나왔다. 각각 page 버튼을 누를 때마다, GET방식으로 page=1, page=2, page=3을 전송한다는 것을 알게 되었다. 검색을 통해 python requests를 이용하여 코드를 작성하여 값을 출력해야 한다는 것을 알게 되었다. 해석: page 파라미터에 인자를 0부터 시작하여 flag값이 나올 때까지 1씩 증가시키며 request를 보내는 코드이다. 만약 request에 대한 응답에서 flag 형식의 문자열이 발견된다면 응답을 출력하고 break를 통해 종료하게 된..

Security/WebHacking 2019.11.28
반응형