일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 사이버포렌식 #포렌식 #FAT
- beebox #bWAPP #webhacking #web #웹해킹 #정보보안 #bruteFource #무차별공격
- C언어 #C #C프로그래밍 #프로그래밍 #언어 #c언어포인터의포인터 #c언어2중포인터
- XSS #ReflectedXSS
- c언어문자열처리방법 #c언어문자열
- beebox #bWAPP #webhacking #web #웹해킹 #정보보안 #commandinjection
- C언어 #C #C프로그래밍 #프로그래밍 #언어
- C언어 #C #C프로그래밍 #프로그래밍 #언어 #선택정렬 #선택정렬알고리즘
- #FAT파일시스템 #파일시스템구조 #파일시스템 #Forensic #정보보안 #IT
- beebox #bWAPP #webhacking #web #웹해킹 #정보보안 #BrokenAuthentication
- 포렌식 #사이버포렌식 #Forensic #정보보안 #IT
- C언어 #C #C프로그래밍 #프로그래밍 #언어 #c언어포인터와문자열 #c언어문자열
- C언어 #C #C프로그래밍 #프로그래밍 #언어 #Call by value #Call by reference
- beebox #bWAPP #webhacking #web #웹해킹 #정보보안 #IT #PUT메소드 #PUT #HTTP메소드 #취약점
- beebox #bWAPP #webhacking #web #웹해킹 #정보보안 #IT
- beebox #bWAPP #webhacking #web #웹해킹 #정보보안 #IT #SQLi #TimeBaseSQLi #sqlinjection
- beebox #bWAPP #webhacking #web #웹해킹 #정보보안 #IT #robots.txt #검색엔진노출
- C언어 #C #C프로그래밍 #프로그래밍 #언어 #로또번호생성 #로또번호만들기 #중복제거 #중복제거알고리즘
- C언어 #C #C프로그래밍 #프로그래밍 #언어 #c2차원배열동적할당 #c언어동적할당 #c동적할당 #c언어동적할당2차원배열
- C언어 #C #C프로그래밍 #프로그래밍 #언어 #c언어포인터배열 #c언어포인터 #포인터 #c포인터
- C언어 #C #C프로그래밍 #프로그래밍 #언어 #c배열포인터 #c언어포인터 #c언어배열포인터 #배열포인터
- beebox #bWAPP #webhacking #web #웹해킹 #정보보안 #SQLi #sqlinjectioon
- C언어 #C #C프로그래밍 #프로그래밍 #언어 #c언어포인터 #c언어포인터연산
- c언어malloc #동적할당 #c언어동적할당 #c언어malloc사용하기
- C언어 #C #C프로그래밍 #프로그래밍 #언어 #C동적메모리할당 #malloc #메모리
- beebox #bWAPP #webhacking #web #웹해킹 #정보보안 #phpcodeinjection #injection
- 파일시스템과파티션 #포렌식 #사이버포렌식 #Encase #Forensic #파티션 #파일시스템 #정보보안
- beebox #bWAPP #webhacking #web #웹해킹 #정보보안 #xss #storedxss #CrossSiteScripting
- beebox #bWAPP #webhacking #web #웹해킹 #정보보안 #IT #CSRF #
- C언어 #C #C프로그래밍 #프로그래밍 #언어 #포인터 #포인터변수 #c언어주소 #주소
- Today
- Total
Hello Security World
[Web Hacking] Bee - Box -PHP Code Injection- 본문
PHP Code INJECTION
웹 서비스 개발 과정 중 Server Side Langage 등을 include 하는 과정에서 생길 수 있는 취약점
이다 PHP Code Injection 은 exec() 함수나 eval()함수를 사용한 경우 세미 콜론(;) 을 사용하여
다른 함수를 실행하는 취약점이 있다.
Phpi.php 페이지는 ‘message’ 라는 굵은 글씨를 클릭하면 ‘test’라는 문자열을 출력한다. GET
메소드로 요청하기 때문에 URL에 ‘message’ 라는 변수를 노출한다.
url에 있는 ‘message’ 변수에 ‘test’ 가 아닌 다른 문자열을 삽입하면 해당 문자열을 출력하고
있다.
위의 url 을 확인하면 GET메소드로 전송하고 있다. message 변수에 임의의 문자열을 삽입한
다.
‘message’ 변수에 “hacking” 이라는 문자열을 삽입하자 “hacking” 이라는 문자열을 출력한다.
그렇다면 공격구문을 삽입해보자.
취약점을 이용하여 공격 한다. 취약점은 ‘ ; ‘ 세미 콜론과 , ‘ system ‘ 함수를 사용한다.
System 함수는 문자열 형태의 명령어를 인자 값으로 받아서 해당하는 명령어를 실행한다.
‘message’ 변수에 ‘ ; ‘ 세미콜론과 ‘system’ 함수를 이용하여 ‘whoami’ 명령어를 입력하였더니
결과값이 나왔다 ‘whoami’ 명령어는 시스템에 로그인한 사용자의 이름을 출력한다.
시스템 정보를 획득 하기위해 cat 명령어를 이용하여 /etc/passwd 파일을 열람하여 보겠다
이 뿐 아니라 웹 서버(WWW) 의 Other 권한에 쓰기 , 실행 권한도 있다면 파일을 쓰기 기능
은 물론 모든 명령어를 사용할수 있다.
‘system’ 함수를 이용하여 ‘cat’ 명령어를 입력하자 /etc/passwd 파일이 출력되었다. 즉, 사용자
의 계정정보가 노출된것이다.
‘command Injection’ 과 같이 ‘netcat’ 을 사용하면 악의적인 스크립트 파일을 서버로 추가 할
수있다. 칼리리눅스에서 ‘netcat’ 을 이용하여 –l 옵션으로 리스닝 모드로 대기하고 희생자의
피시에서 공격자의 피시로 접속할 포트번호 –p 777 을 오픈한다.
칼리 리눅스 (공격자) 의 IP address.
칼리리눅스의 IP(공격자) 를 설정하고 ‘netcat’ 을 실행한다. –e 옵션은 exec 의 줄임말로
옵션에 입력한 프로그램을 실행할 수 있다. ‘/bin/nash’ 를 입력하면 칼리 리눅스에서 명령어
해석기인 bash 셸을 사용한다.
명령어를 입력하자 웹페이지는 Loading 상태로 전환되고 대기하고 있다. 명령어가 성공적으
로 실행된것이다.
칼리리눅스에서 ls 명령어를 입력하자 위와 같이 bWAPP서버에 있는 내용들이 출력된다. 정
상적으로 Connection 이 된것이다.
추가적인 명령어도 입력해보았다 cat 명령어를 이용하여 /etc/passwd 파일의 내용들도 확인할
수있다.
PHP Cod Injection 대응방안
난이도 중과 상에서는 난이도 하와는 다르게 message 변수에 세미 콜론을 사용하여 다른 명
령어를 호출하거나 스크립트 코드를 주입하는 공격이 실행되지 않는다. 코드를 확인하면
난이도 중부터는 다음 코드와 같이 htmlscpeciolchars 함수를 사용하여 message 변수의 입력
값을 필터링한다.
'정보보안 > BWAPP Bee-box' 카테고리의 다른 글
[Web Hacking] Bee - Box -Brute Force Attack (0) | 2020.05.03 |
---|---|
[Web Hacking] Bee - Box -Broken Authentication (0) | 2020.05.03 |
[Web Hacking] Bee - Box -OS Command Injection- (0) | 2020.05.03 |
[Web Hacking] Bee - Box -Blind SQL Injection- (0) | 2020.05.03 |
[Web Hacking] Bee - Box -Union Base SQL Injection(POST)- (0) | 2020.05.03 |