일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- chart.js
- FCM
- 폼메일
- WebView
- 안드로이드 푸쉬
- html5
- Mail Server
- dovecot
- 안드로이드 gcm
- UML
- xe
- Android
- php 취약점
- roundcube
- 자동 생성
- 우분투
- curl
- not working
- php 시큐어코딩
- 설치
- 안드로이드
- mysql
- 자바스크립트
- 안드로이드 푸시
- C# IO
- javascript
- soundpool
- C#
- android 효과음
- PHP
- Today
- Total
목록php 시큐어코딩 (4)
그러냐
안녕하세요. Hackability 입니다. 이번에 작성할 내용은 PHP 에서 strcmp 취약점을 이용한 인증 우회 기법 입니다. 아래와 같이 간단히 인증을 하는 login.php 가 있다고 가정해봅니다. 12345678910111213 3번째 라인에서는 user_id 와 password 파라미터가 세팅 되었는지 체크하고 6번째 라인에서는 user_id 가 admin 이고 password 가 ps와 비교합니다. (예를 위해서 미리 $ps 에 값을 대입하였습니다.) 일단 기본 동작은 아래와 같습니다. http://127.0.0.1/login.php?user_id=admin&password=pass=> login succeed.. http://127.0.0.1/login.php?user_id=admin&pa..
문제 풀다 md5 충돌(?) 을 가장한 특이한 문제를 보게 되어 정리해 둔다. 이 문제는 md5 collision 이 발생하는 것이 아닌, php 비교문("==") 의 취약점이라고 볼 수 있다. "==" 비교 연산자와 "===" 의 연산자는 차이가 있는데, "==" 를 사용하면 아래와 같이 의도하지 않은 엉뚱한 결과가 나온다. root@kali:~/Desktop/# cat test.php 두개의 문자열이 분명 다름에도 불구하고 아래와 같이 같다고 나온다. root@kali:~/Desktop/# php test.phpequal 자세한 이유는 여기저기 많이 설명되어 있었다. http://stackoverflow.com/questions/22140204/why-md5240610708-is-equal-to-md..
PHP에서 $_SERVER['PHP_SELF']를 사용하면 취약점이 발생하기도 한다.가령 form을 사용하는 경우 값을 보낸 페이지와 값을 받는 페이지가 같은 경우 다음과 같이 작성하기도 하는데,
시큐어코딩 규칙 값모든 변수를 안전한 값으로 초기화하십시오.추출 된 변수 이름 확인다음 작업이 작동하는 입력 데이터의 범위 제한 입출력업로드하기 전에 파일 형식 확인외부 시스템에서 생성 된 파일 이름 및 경로 이름 확인신뢰할 수없는 입력에 대한 모든 입력을 가정하고 유효성을 검사합니다. 쿼리/api외부 시스템에서 쿼리를 확인하십시오. 환경안전한 PHP 환경 변수 사용 정보유출오류 메시지를 통해 중요한 정보를 노출시키지 마십시오.정보 유출을 막으려면 GET 대신 POST 메서드 사용 인증/권한중요한 정보에 대한 사용자 액세스가 승인되고 인증되었는지 확인하십시오. 암호화강력한 암호화 알고리즘 사용중요한 정보를 하드 코딩하지 마십시오. 직렬화암호화되지 않은 중요한 데이터를 직렬화하지 않음 아래 논문에서 발췌 ..