- 서버쪽에서 특정 Content-Type만 업로드가 가능한 경우 중간에서 Content-Type만 수정해주면 우회가 가능

 

- 소스코드 상에서는 우측에서 부터 확장자를 인식하는 반면, 서버에서는 좌측에서부터 확장자를 인식한다. 때문에 서버에서 .jsp든 .php든 뒤에 이상한 확장자가 붙어있어도 좌측부터 확장자를 찾기 때문에 기존에 코딩된 php 또는 jsp로 인식됨

'23.12.24 삭제예정 > 웹해킹' 카테고리의 다른 글

■ Day 3 Sql injection- medium  (0) 2019.02.12
■ Day 2 HTML INJECTION (레벨 medium)  (0) 2019.02.11
■ Day 1 웹 해킹-디렉토리 리스팅  (0) 2019.02.10
sql injection(sqlite)  (0) 2019.02.01
oracle  (0) 2019.01.30

■ 기존의 low에서와 달리 특별한 syntax에러가 발견되지 않는다. 다음의 예제를 통해 확인을 해보자


■ Sql injecion - select



다음과 같이 하단의 select a movie를 선택할때 마다 url이 변경되는 것을 확인해 볼수 있다.


그렇다면 url 부분에 sql문을 집어 넣어 출력을 하게 된다면 어떻게 될것인가?





다음과 같이 컬럼의 개수를 파악하는것이 중요한데 다음처럼 삽입을 하게 된다면 하단과 같이 하단의 컬럼 개수가 다르다는 문구가 나타나는것을 확인

즉 컬럼의 개수만을 맞추게 된다면 원하는 결과값을 얻을수 있다는 결론이 나온다.







http://localhost/bWAPP/sqli_2.php?movie=0 %20 union %20 select %20 all %201,table_name,3,4,5,6,7 %20 from information_schema.tables%20 limit%201,1&action=go


http://localhost/bWAPP/sqli_2.php?movie=0 %20 union %20 select %20 all %201,table_name,3,4,5,6,7 %20 from information_schema.tables%20 limit%202,1&action=go


다음과 같이 url 부분에 sql 조작을 통해 화면이 출력되는 것을 확인 sql의 구조를 파악해 볼수 있음




'23.12.24 삭제예정 > 웹해킹' 카테고리의 다른 글

File Upload  (0) 2020.03.26
■ Day 2 HTML INJECTION (레벨 medium)  (0) 2019.02.11
■ Day 1 웹 해킹-디렉토리 리스팅  (0) 2019.02.10
sql injection(sqlite)  (0) 2019.02.01
oracle  (0) 2019.01.30

■ Low 레벨에서는 손쉽게 웹 해킹이 가능하였지만 medium에서는 다름


■ 예시


실제 똑같은 Html injection 이자만 일반 텍스트로 인식을하여 출력되는 것을 확인해 볼수 있다.


즉, 개발자가 개발된 function이 잘 작동하고 있다는 의미


이러한 일반 텍스트를 우회하기 위해서는 인코딩을 통한 방법이 한가지로 존재한다.


인코딩을 변환하는 사이틑 하단을 참조


https://coderstoolbox.net/string/#!encoding=url&action=encode&charset=utf_8


https://www.w3schools.com/tags/ref_urlencode.asp



이렇게 인코딩된것을 앞서 실행한 firstname , lastname에 기입을 하게 된다면?


low레벨에서 처럼 XSS가 실행된것을 확인 만약 이것을 iframe이미지 혹은 외부링크로 연결시킬수 악성코드를 통한 공격도 가능하게 된다 인코딩에 대한 방지를 추가해야 함



'23.12.24 삭제예정 > 웹해킹' 카테고리의 다른 글

File Upload  (0) 2020.03.26
■ Day 3 Sql injection- medium  (0) 2019.02.12
■ Day 1 웹 해킹-디렉토리 리스팅  (0) 2019.02.10
sql injection(sqlite)  (0) 2019.02.01
oracle  (0) 2019.01.30

1. 디렉토리 리스팅을 통해 해당 홈페이지의 구조를 한번에 파악할수 있다.



가령 다음과 같이 디렉토리 리스팅이 존재를 한다면 방지를 하여 디렉토리의 구조를 볼수 없도록 하여야 한다.

If 아파치 웹 서버를 사용하는 경우는 다음과 같이 처리를 한다.

보통 OS에 따라 다르긴 하지만 다음과 같은 위치에 존재하는 conf 파일에서 indexes를 제거해야 한다. 즉 이 부분 때문에 디렉토리 리스팅이 존재한다고 보면 된다.


CentOS이면 /etc/httpd/conf/httpd.conf

우분투이면 /etc/apache2/apache2.conf

원도의 경우 설정-->제어판-->관리도구-->"인터넷서비스관리자" 선택 후 해당 웹 사이트에 오른쪽 클릭 하고 홈 디렉토리 탭에서 디렉토리 검색 해지



'23.12.24 삭제예정 > 웹해킹' 카테고리의 다른 글

■ Day 3 Sql injection- medium  (0) 2019.02.12
■ Day 2 HTML INJECTION (레벨 medium)  (0) 2019.02.11
sql injection(sqlite)  (0) 2019.02.01
oracle  (0) 2019.01.30
html injection-stored, iframe 공격  (0) 2019.01.29

+ Recent posts