목록웹 진단 (29)
보안개구리

[설 명] SQL Injection은 사용자의 입력 값으로 웹 사이트 SQL 쿼리가 완성되는 약점을 이용하며, 입력값을 변조하여 비정상적인 SQL 쿼리를 조합하거나 실행하는 공격으로 개발자가 생각지 못한 SQL문을 실행하게 함으로써 데이터베이스를 비정상적으로 조작 가능한 공격으로 소스코드에 SQL 쿼리를 입력값으로 받는 함수나 코드를 사용할 경우, 비정상적인 SQL 쿼리로 DBMS 및 데이터를 열람하거나 조작 가능하므로 사용자의 입력 값에 대한 필터링을 구현하여야 한다. [점검 내용] 웹 페이지 내 SQL Injection 취약점 존재 여부 점검 [점검 기준]임의의 SQL Query 입력에 대한 검증이 이루어지지 않는 경우 취약 [대응 방법] * SQL 쿼리에 사용되는 문자열의 유효성을 검증하는 로직 구..

[설 명] 파일 업로드 기능을 이용하여 시스템 명령어를 실행하는 웹 프로그램을 업로드할 수 있는 취약점으로, 해당 취약점이 존재할 경우 공격자는 조작된 *Server Side Script 파일을 서버에 업로드 및 실행하여 시스템 관리자 권한 획득 또는 인접 서버에 대한 침입을 시도할 수 있으므로 업로드되는 파일의 확장자에 대한 적절성 여부를 검증하는 로직을 통해 공격자가 조작된 Server Side Script 파일 업로드 방지 및 서버 상에 저장된 경로를 유추하여 해당 Server Side Script 파일 실행을 불가능하게 하여야 한다. [점검 내용] 웹 사이트의 게시판, 자료실 등에 조작된 Srever Sdie Script 파일 업로드 및 실행 가능 여부 점검 [점검 기준] 업로드되는 파일에 대한 ..

SSI Injection을 실습할건데 SSI는 제목에 나와있는 것처럼 Server Side Includes의 약자로 HTML 페이지에 동적인 내용을 추가할 수 있는 기능을 가지고 있다. SSI를 사용하는 웹페이지의 경우 SSI를 위해 .shtml 이라는 확장자가 붙어 사용된다. 주로 방문자 수, 조회 수 등 동적인 내용을 추가할 때 사용한다. [Low Level] 보여지는 창은 예전 HTML Injection 실습할때와 유사한데 혹시하는 마음에 h태그를 사용해도 적용되지는 않는다. 어쨋든 이름을 입력하면 나의 IP를 알려주는 방식인 것 같은데 이름을 입력한 후 Lookup 버튼을 눌러보겠다. 그럼 내가 입력한 이름과 함께 나의 IP가 노출되는것을 알 수 있다. 여기서 봐야할 점은 Lookup 버튼을 입..

이번 시간은 PHP Code Injection에 대하여 실습해보겠다. [Low Level] 먼저 해당 실습 화면에 접속하면 문구가 화면에 출력되는 것을 확인할 수 있다. 페이지 소스를 확인해보면 message이라는 문구에 a태그가 달려있는 것을 알 수 있다. 그러면 화면에 나와있는 굵은 글씨로 된 message를 클릭하면 /phpi.php?message=test로 이동하여 왼쪽 사진에서 오른쪽 사진처럼 변하고 tset라는 단어를 출력한다. 이때 meesage 변수 값을 다른 값으로 바꾼다면 입력한 값이 test 대신 화면에 출력된다. php.php 파일을 살펴보겠다. 위 내용을 살펴보면 난이도 Low Level인 경우 를 수행하고 그 밖에 모든 경우에 대해서는 를 수행한다. 현재 필자의 실습 난..

https://facelight.tistory.com/68 [A-1 Injection]OS Command Injection OS Command Injection이라 하면 그동안 실습해왔던 Injection 공격 중 하나이며 OS Command 즉 시스템 명령어를 사용하는 방식이다. 먼저 commandi.php를 살펴보겠다. 왼쪽 사진은 난이도에 따라 적용되는..facelight.tistory.com 저번에 했던 방식과 유사해 보이는데 저번에는 nslookup을 통해 정보를 확인했다면 이번에는 ping 테스트를 하는 것 같다. 사실 핑테스트나 nslookup이라는 차이점보다는 저번 시간은 cat 같은 명령어를 삽입해서 나오는 결과를 바로 확인할 수 있었다면 이번 시간에 경우는 Blind 방식으로 입력한..

OS Command Injection이라 하면 그동안 실습해왔던 Injection 공격 중 하나이며 OS Command 즉 시스템 명령어를 사용하는 방식이다. 먼저 commandi.php를 살펴보겠다. 왼쪽 사진은 난이도에 따라 적용되는 함수를 알 수 있고 오른쪽은 현재 페이지를 나타내는 건데 만약 입력을 하지 않는다면 if 구문을 실행하여 Enter a domain name이라는 문구를 나타내고 입력값을 받는다면 else 구문을 실행한다. 페이지 내에서 www.naver.com를 를 입력하여 나오는 값과 비박스에서 터미널 창을 연 후 nslookup을 통해 www.naver.com을 을 비교해보면 값이 같다는 것을 알 수 있다. 따라서 페이지 DNS lookup 입력창에 값을 넣고 입력하면 명령..