일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- mysql
- UML
- WebView
- curl
- PHP
- xe
- php 시큐어코딩
- 폼메일
- 우분투
- android 효과음
- javascript
- 자동 생성
- 안드로이드 푸쉬
- chart.js
- html5
- php 취약점
- C#
- Mail Server
- C# IO
- 자바스크립트
- soundpool
- 안드로이드
- FCM
- 설치
- 안드로이드 푸시
- 안드로이드 gcm
- roundcube
- not working
- Android
- dovecot
- Today
- Total
목록분류 전체보기 (496)
그러냐
쿠키값은 사용자의 브라우저에 저장되는 반면.. 세션값은 쿠키데이터가 서버에 저장되는 형태이다. 기본적으로 세션캐쉬가 삭제되는 시간은 180 으로 설정되어 있다. (분단위이므로 3시간) 아래와 같은 함수를 통해 현재 설정값을 알아볼 수 있다. php 코드상에서 세션 캐쉬 유지시간을 늘리려면. 위 함수에 인자값을 주어서 설정할수 있다. 위 코드는 매번 session_start() 함수가 호출되기 전에 수행해 줘야 하므로 include 형태로 사용해야 한다. 전역적으로 설정하고 싶을때는 php.ini 값을 수정해 줘야 한다. 나는 길게 세션을 유지하고 싶으므로.. php.ini 파일에 아래와 같이 설정했다. session.gc_maxlifetime = 0 ; garbage collection 시간을 제한없음 ..
안녕하세요. 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 메서드 사용 인증/권한중요한 정보에 대한 사용자 액세스가 승인되고 인증되었는지 확인하십시오. 암호화강력한 암호화 알고리즘 사용중요한 정보를 하드 코딩하지 마십시오. 직렬화암호화되지 않은 중요한 데이터를 직렬화하지 않음 아래 논문에서 발췌 ..
국제 웹 보안 표준 기구(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='h..
로컬 HTML(JavaScript)과 App 영역이 통신(함수호출)을 함으로써 간단한 하이브리드 앱을 만들어볼 수 있다. 1. HTML에서 App 함수 호출 1) 멤버로 android.os.Handler 를 생성한다. 호출 시 thread 처리를 위해서 이용된다. private final Handler handler = new Handler(); 2) App과 Javascript간 Bridge 클래스를 생성하고, 호출될 함수를 implement 한다. (이 때 파리메터는 반드시 final로 선언) Javascript에서 호출시 별도의 Thread로 구동될 수 있도록 아래와 같이 구현한다. private class AndroidBridge { public void setMessage(final String..
본 Gallery를 열어 Image를 선택해 올 버튼 하나와 선택한 Image를 보여줄 ImageView를 배치 버튼 클릭 시 기본 Gallery로 이동 public class gallery1 extends Activity { final int REQ_CODE_SELECT_IMAGE=100; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ...... //버튼 클릭시 처리로직 Intent intent = new Intent(Intent.ACTION_PICK); intent.setType(android.provider.MediaStore.Images.Media.CONTENT_TYPE); intent.s..
1. 이미지 가져오기2. URI -> path 변환3. 안드로이드에서 파일 복사하기 package com.example.changnam.kcntest; import android.content.ContentUris;import android.content.Context;import android.content.Intent;import android.database.Cursor;import android.graphics.drawable.Drawable;import android.net.Uri;import android.os.Bundle;import android.os.Environment;import android.provider.DocumentsContract;import android.provider...