데이터 사전(data dictionary)
데이터 사전(Data Dictionary)이란 대부분 읽기전용으로 제공되는 테이블 및 뷰들의 집합으로 데이터베이스 전반에 대한 정보를 제공 한다. 오라클 데이터베이스는 명령이 실행 될 때 마다 데이터 사전을 Access 한다. DB작업동안 Oracle은 데이터 사전을 읽어 객체의 존재여부와 사용자에게 적합한 Access 권한이 있는지를 확인 한다. 또한 Oracle은 데이터 사전을 계속 갱신하여 DATABASE 구조, 감사, 사용자권한, 데이터등의 변경 사항을 반영 한다. 참조 1. http://www.gurubee.net/lecture/1520 2. http://docs.oracle.com/cd/B28359_01/server.111/b28320/index.htm
Building a web API with Ruby on Rails.
Cross-Site Request Forgery
너무 옛날 내용이라 다소 지루할수있다. 위키의 내용을 조금 빌려서 설명하겠습니다. 사이트 간 요청 위조(Cross-site request forgery, CSRF, XSRF) 웹 서비스 취약점 공격의 하나로, 사용자가 자신의 의지와는 무관하게 공격자가 의도한 행위 (좋아요,삭제,탈퇴,수정)를 특정 웹사이트에 요청하게하는 공격을 말한다. 이전에 XSS가 가능하다면 바로 연계해서 사용할수있는 공격법이다. 해당 서비스에 XSS 취약점이 존재한다면 CSRF 취약점도 존재한다고 보면 된다. 하지만 XSS,CSRF등의 공격법은 예전에 나와서 이미 보안책들이 많이 나왔지만 한국에서 주로 커뮤니티 서비스들 게시판등에서 아직 까지 발생하고는 문제사항이다. 간단하게 에를 들어보자. 음.. 어떤게 좋을까. 쇼핑몰 고객문의 게시판을 예로 들어보자. 관리자(어드민)은 고객들의 문의를 하나하나 볼 것이다. 어떠한 게시물이라도 열람할것이기 때문에 내가 걸어놓은 트랩에 걸릴 확률도 100% 로 봐도 무관하다. 메소드는 그냥 간단한 설명을 위해 get 방식에 대한 예만 들겠다. 고객문의 게시판등의 폼등을 보고 대략적인 로직을 유추할수있고 파라미터값을 아래와 같이 던질수잇겠다. YoungJunShop-host.org/qna/inser?tit=지금 입금하면 해당 금액의 두배의 상품을 드립니다&body=블라블라내용 어린이은행 우영준 생각해보니 공지라면 따로 필드값도 필요할수있겠다. SQL인젝션등을 통해서 필드명도 유추해서 같이 보내는것도 방법이겠다. 해당 값을 게시물을 열람하는 동시에 요청하면된다. 방지법등으로는...
find 명령으로 특정 파일 찾아서 여러 명령 실행하기
find . -name "improvement.out" -exec echo \{\} \; -exec cat \{\} \; > improvements.out
Predictive Analytics, Machine Learning, and Recommendation Systems on Hadoop
[Mysql] 테이블명세서 쿼리문
SELECT ORDINAL_POSITION ‘필드순번’, COLUMN_NAME ‘필드명’, DATA_TYPE ‘데이터 TYPE’, COLUMN_TYPE ‘데이터 LENGTH’, COLUMN_KEY ‘KEY’, IS_NULLABLE ‘NULL값여부’, EXTRA ‘자동여부’, COLUMN_DEFAULT ‘디폴트값’, COLUMN_COMMENT ‘필드설명’ FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = ‘사용자가 작성한 데이터베이스이름’ AND TABLE_NAME = ‘사용자가 작성한 테이블이름’ ORDER BY TABLE_NAME, ORDINAL_POSITION
Is it safe to delete index.html from all folders?
The purpose of them is to prevent the contents of the directory from displaying if directory listing is enabled on your server. Apache servers by default have directory listing enabled. There are several instances where given the right circumstances you might be able to attempt to browse to a folder directly. These would mainly be caused by a server which is not configured properly, or an exploit. Therefore it is really best if you just leave the index.html files alone (they aren’t hurting anything, and they don’t take up that much space). I’d even go as far as to suggest that you too add an index.html file to any and all folders which you create.
파스칼의 삼각형
1. 배열 #include int main(){    int c[20][20] = { 0, 1 }, a, i, j;    scanf("%d", &a);    for (i = 1; i <= a; i++){        for (j = 1; j <= i; j++){            c[i][j] = c[i - 1][j - 1] + c[i - 1][j];            printf("%d   ", c[i][j]);        }        printf("\n");    }    return 0;} 2.재귀함수 #include int qq(int a, int b){    if (a == 0 || b == 0 || a == b)        return 1;    else        return qq(a - 1, b) + qq(a - 1, b - 1);} int main(){    int a, i, j;    scanf("%d", &a);     for (i = 0; i < a; i++){        for (j = 0; j <= i; j++){     ...
Webhacking.kr 28번 문제
500스코어 문제이며 파일 업로드 취약점에 관한 문제이다. 개인적으로 스코어에 비해서 난이도가 그리 높지는 않은 것 같다. 문제에 들어가면 아래와 같은 내용과 파일 업로드 폼이 보인다. hint upload/index.php <? $pw = “???”; ?> readme 이미지파일을 업로드하고 전송하면 아래와 같은 문자를 노출한다. Done홈페이지 보안 문제로 파일내용은 표시해주지 않습니다. 부득이하게 이렇게 하드코딩으로 바꿔놨으나, 실제로 취약점이 있는 상황에서 사용할 수 있는 취약점이니 재밌게 풀어주세요. hint : .htaccess 링크가 걸려있는 upload/index.php에 접속하면 단순히 ‘read me’라는 짧은 문구만 보이네요. 문제의 출제의도는 저 php파일을 읽는 것 같습니다. .htaccess파일에 아래와 같은 설정을 추가합니다. php확장자를 실행을 끄는 간단한 설정입니다. 해당 파일을 업로드하면, 클리어. php_flag engine off AddType text/plain php 참고 Using php_flag or php_value in .htaccess files
Depth First Search Algorithm
Webhacking.kr 27번 문제
27번문제는 SQL INJECTION관련 문제입니다. 해당 문제의 소스를 보면, index.phps 가 주석처리되어있습니다. 해당 파일을 보면 아래와 같은 소스를 볼수있습니다. no라는 파라미터에 값을 1로 하면 gest가 출력되고 1이외 값을 대입했을때는 쿼리에러를 출려합니다. 두번째 조건의 필터링을 우회해서 쿼리문을 만들어 요청해본다. 0) or like 2 (0)%0Aor%0Ano%0Alike%0A2%0A--+) if($_GET[no]){if(eregi("#|union|from|challenge|select|\(|\t|/|limit|=|0x",$_GET[no])) exit("no hack");$q=@mysql_fetch_array(mysql_query("select id from challenge27_table where id='guest' and no=($_GET[no])")) or die("query error");if($q[id]=="guest") echo("guest");if($q[id]=="admin") @solve();}
Getting started with MongoDB and NoSQL in .NET and C#
리눅스 커널 내부구조
출퇴근 시간을 이용해서 앞으로 ebook통해서 서적들 읽을 계획이다. 이전에는 주로 기술서적이나 아니면 모르는 개념들 찾기바빴는데..(요금압박) 회사에도 책이 쌓여있고; 집에도 책이 쌓여있다. 퇴근하고 책 읽는 시간은 제한적이고.. 주말에는 오전에 시간내서 읽고 오후부터는 그룹 스터디하고있기에… 뭔가 늘어난다기보다는 부족한게 더 많이 보인다고해야할거같다. 그 부족한 부분을 매꾸려면 더 많은 배움이 필요할거같다. 배움의 양이 많아지니 놓치는 개념들, 알면서도 헷갈려지는 개념들을 다시 정리할겸 이 책을 선택했다. 제0장 운영체제 이야기 1. 운영체제 이야기 2. 운영체제 동작 비유 제1장 리눅스 소개 1. 리눅스의 탄생 2. 유닉스와 리눅스 3. 리눅스의 배포판 4. 리눅스의 장점 5. 쉘(Shell) 사용해보기 제2장 리눅스 커널 구조 1. 리눅스 커널 구조 2. 리눅스 커널 컴파일 실습 문제 제3장 태스트 관리 1. 프로세스와 쓰레드 그리고 태스크 2. 사용자 입장에서 프로세스 구조 3. 프로세스와 쓰레드의 생성과 수행 4. 리눅스의 태스크 모델 5. 태스크 문맥 6. 상태 전이(State Transtion)의 실행 수준 변화 7. 런큐와 스케줄링 8. 문맥 교환 9. 태스크와 시그널 실습 문제 제4장 메모리 관리 1. 메모리...
Webhacking.kr 26번 문제
26번 문제는 100스코어 문제이며 난이도가 낮아서 이번에도 쉬어가는 문제라 볼 수 있습니다. 회사 출근과 동시에 문서 몇개보다가 갑자기 생각나서 풀이해봅니다. 3개의 라인만 보면 답이 보입니다. 그럼 admin 값을 url 인코딩합시다. ‘a’ => %61 ‘d’ => %64 ‘m’ => %6D ‘i’ => %69 ‘n’ => %6E %61%64%6D%69%6E 해당 값을 한번 더 인코딩한후에 요청합니다. 2번째 라인에서 해당 값이 urldecode 되기때문에 3번째 조건에 만족하여 해당 문제를 해결할 수 있습니다. if(eregi("admin",$_GET[id])) { echo("no!"); exit(); } $_GET[id]=urldecode($_GET[id]); if($_GET[id]=="admin") { @solve(26,100); } 
검색 알고리즘 성능 총정리