분류 전체보기(82)
-
[php] preg_match 함수
안녕하세요!오늘은 php 함수중에preg_match 함수에 대해서설명할게요! 웹해킹 문제들을 풀다보면php 코드에서 자주 등장하는 함수입니다! 먼저 어떻게 쓰이는지 알아보겠습니다 물론 $matches 뒤에 PREG_OFFSET_CAPTURE을 쓰기도 하는데제일 자주 쓰이는 상태로 살펴보도록 하겠습니다! 먼저 대조 할 문자에 저희가 찾고 싶거나 필터링 하고 싶은 문자열을 넣습니다! 예를 들어 나는 a를 필터링하고 싶다하면'/a/' 이렇게 되겠죠?this를 필터링하고 싶다하면'/this/' 이렇게 되겠죠? 그럼 만약에 특수문자를 필터링하고 싶을땐요?' 이거 필터링 하고싶은데요?그럴땐 특수문자 앞에 \를 붙이면 돼요~ 이렇게요!'/\'/' 근데 가끔씩 '/admin/'i 이렇게i가 붙을수가 있습니다!이 경우는..
2019.02.22 -
[어설픈] webhacking.kr 20번 문제풀이
안녕하세요! 오늘은 webhacking.kr 20번 문제를풀어보도록 하겠습니다! 문제에 접속하니 아래와 같이 뜨네요! 밑에 javascript challenge라고 적혀있는데잘렸네요! 뭐 저희가 nickname, comment, code에 값을 입력하고 submit을 눌러야 하나보죠? 일단 뭐 어떻게 작동하나문을 "똑똑똑" 해볼려고 nickname에 1comment에 1code에는 code 옆에 있는걸 그대로 복사했습니다!(code에도 1을 넣어봤는데 submit을 눌러도 반응이 없어서...) 그랬더니 아래와 같이제일 먼저 Wrong이라는 글자가 갑자기 뜨고! 곧바로 사라집니다그리고 두 번째로 바뀐 거는 code옆에 있는 문자가 바뀌었습니다 그래서 저는 "뭐 어떻게 해야 맞는거야?, 조건이 어디있어?"라..
2019.02.21 -
[기초] NX bit/ DEP 와 ASLR은 무엇인가?
안녕하세요!오늘은 메모리 보호기법중 NX bit/ DEP와 ASLR을 알아 볼게요! 근데 그전에 이러한 보호기법이 왜 나왔는지부터보고 가도록 할게요! 버퍼오버플로우 공부할 때가장 기본적인 exploit 방법은 1) 버퍼의 크기를 가늠한다(얼마나 할당했는지)2) 버퍼에서 RET ADDR까지의 거리를 계산한다3) 버퍼~EBP(RET ADDR 바로 직전)까지 데이터를 채운다※여기서 데이터= 쉘코드+ 다른 문자들(aaaa..........)4) 그리고 RET ADDR에는 쉘코드가 위치한 주소를 적는다! 예를 들어 아래와 같이 스택이 있다고 가정해보면! 32 bit기준[버퍼 252byte][Dummy 4byte][EBP 4byte][RET ADDR 4byte] 그럼 위 순서대로 진행을 하면버퍼의 시작에서 RET ..
2019.02.21 -
[기초] 메모리는 어떻게 구성되어있나
안녕하세요!오늘은 메모리 구조에 대해서 간단하게 설명해보도록 하겠습니다! 시스템 해킹을 하기 위해선이 메모리 구조와작동 원리를 잘 알고 있어야 합니다! [32bit CPU를 기준으로 합니다!][주소는 16진수로 표현되니!][0x00000000~0xFFFFFFFF의 범위를 갖습니다!] 우선 간단하게 프레임을 그려볼게요 | ( 기 계 어 ) || 코 드 영 역 |-------------------------------| 초기화 된 데이터 영역 |-------------------------------| 초기화 안된 데이터 영역 |-------------------------------| 힙(Heap) 영 역 |-------------------------------| 공유 라이브러리 영역 |---------..
2019.02.20 -
[php] eval() 함수
PHP 코드에서 eval( )함수가 나와 간단하게 정리하고자 한다! eval( )함수는 제일 직관적으로 설명하면!"eval(여기에 있는 php코드를 실행)"이라고 정의 할 수 있다! ex) eval("echo 'a' ;")라고 작성을 하면괄호 안에 있는 문자열(string)을 php에서 실행시킨다고 보면 된다! 즉 과 같다는 이야기이다! 그래서 항상 ;(세미 콜론)을 끝부분에 적어주어야 한다! 근데 실제로는 eval의 이런코드를 동작시키는 기능 때문에개발할때 eval함수를 권하지 않는다! 왜냐하면 php변수 fun에 get 방식으로 입력을 받을 때!$fun=$_GET['fun']; 이 데이터의 내용을 eval 함수의 인자로 주면!eval($fun)이 된다! 하지만, 사용자가 이 fun에악의적인 스크립트를..
2019.02.19 -
[기초] 웹 브라우저란? URL이란?
우리가 흔히 사용하는웹 브라우저(크롬, 익스플로러, 파이어폭스)는 무엇일까요? 제가 이해한 바로는사용자가 인터넷에 접속하기 위해 이용되는프로그램 혹은 소프트웨어라고 보시면 될 것 같습니다! 좀 더 자세하게 설명하자면client(사용자) 와 Web server(서버)측의 client Web Server 양방향 통신을 지원하고 통신할 때 존재하는html 문서나 파일들과 연동하고출력까지 담당하는"소프트웨어" 이러한 웹 브라우저는 사용자가 요청한 웹 페이지를 가져올 때여러가지 과정을 거칩니다! 그전에 알아야 할 몇 가지가 있습니다! -----------------------------------------------------------------------------------------------------..
2019.02.18