- Today
- Total
목록분류 전체보기 (300)
Phantom
Arm 공부에 앞서.... qemu로 Arm을 구동하기 위해 구동법부터 적겠다. sudo apt-get install qemu wget https://people.debian.org/~aurel32/qemu/armhf/debian_wheezy_armhf_standard.qcow2 wget https://people.debian.org/~aurel32/qemu/armhf/initrd.img-3.2.0-4-vexpress wget https://people.debian.org/~aurel32/qemu/armhf/vmlinuz-3.2.0-4-vexpress 실행 방법 qemu-system-arm -M vexpress-a9 \ -kernel vmlinuz-3.2.0-4-vexpress \ -initrd init..
와 벌써 한달전이구나..후기를 너무 늦게 쓰는것 같지만 쓰는게 중요하니까 한번 끄적여보자. 우연히 알게된 취업동아리, 기존의 정동아리와 달리 사업단에서 지원을 해주는 동아리 형태이다. 취업동아리가 되면 해야되는 일은 취업 역량 강화. 우리 동아리는 이미 하고있던 일이었다. 그리고 또하나는 취업 박람회를 참석하는것. 너무나도 간단한 일이기에 우리는 취업동아리를 신청하고 30만원을 지원받았다. 동아리에게 너무 적은 금액이 아닌가 싶지만 추가 지원이 있기도하고 생각해보면 어느곳에서 이 동아리를 믿고 30만원이나 지원을 할까? 라는 생각이 드니 당연하다고 느꼈다. 그렇게 교통비를 지원받고 신도림 테크노마트 그랜드볼룸 11층으로 갔다. 이 행사는 과기정통부와 KISA가 주관하는 취업박람회이며 더 좋은건 업무영역이..
이번은 그냥 간단한 링크 가공이다. 키워드 기반 크롤링 프로젝트 - 1 키워드 기반 크롤링 프로젝트 - 2 이전 글들을 보면 알겠지만.. 링크가 파라미터까지 전부 날라간 형태로 저장이 된다. 이런 형식으로 말이다. 그래서 정규 표현식을 이용해 뒷부분을 잘라내고 다시 앞부분을 붙일 생각이다. 파이썬 정규표현식 모듈을 임포트 해주고 고정텍스트 부분은 그대로 쓰고 가변적인 부분을 정규표현식으로 처리해줬다. 그리고 앞부분을 붙여서 item['link']에 리턴해준다. 결과물 결과 값 검증 참조 링크 http://egloos.zum.com/sweeper/v/3065126
어제에 이어서 1개의 사이트에서 키워드 관련 기사 링크하기 이다. 생각보다 초반은 쉬웠다 Scrapy는 Crawling FrameWork로써 다양한 기능을 지원하는데 그중 하나가 키워드 이다. 이런 방식으로 사용이 가능하다. 위 그림의 url 형태를 분석해보자 우선 보안뉴스 사이트에서 아무것도 입력하지않은 상태로 검색을 하면 다음 URL이 나오게 된다. 그럼 이것을 필요한 부분에 따라 잘라넣어야 한다. 여기에 표시가 되지 않았지만 Page변수는 1일때는 표시되지 않는다. 그렇다면 "개인정보" 로 검색을 하고 2번 페이지로 갔을때의 URL을 보도록 하겠다. 이것을 이제 입력할 부분으로 나누어 본다면 Page 번호부분에 입력이 들어가고 그 후에 find 부분에 키워드가 들어가게 된다. 다시 소스를 보자면....
우선 방식을 이렇게 하려한다 1개의 사이트, 개수지정 크롤링 1개의 사이트, 키워드 기반 개수 지정 크롤링 N개의 사이트, 키워드 기반 개수 지정 크롤링 필터링 작업 및 Visualizing 나는 먼저 보안뉴스를 크롤링 대상으로 정했다. 사이트에 들어가 보면 각 기사들이 나열 되는데 이 부분을 크롤링 할 것이다. 많은 컨텐츠가 필요한것이 아니기때문에 크롤링 방식은 RSS 피드를 긁어올것이다. 이 부분에서 title, link, date를 긁어올것이다. scrapy shell로 테스트 결과 바로 200 OK response가 오므로 굳이 리퀘스트정보는 조사할 필요가 없을것 같다. 값도 있겠다 이제 프로그래밍을 해준다. items.py pipelines.py settings.py에 다음 라인 추가 DEFAU..
이제 웹을 공부하려는데 원래는 막연히 CTF 사이트를 만들까 생각을 했다. 그러다 보안프로젝트에서 보안뉴스 모음을 자주 스크랩해 페이스북에 자주 보였다. 저걸 자동화해볼까? 라는 생각에 한번 웹공부를 해가며 만들어 볼 생각이다.
간단한 리버싱 패턴을 분석한 글을 적고자 한다. 우선 scanf, printf 같은것들은 생략하기로 한다. 컴파일 옵션은 다음과 같다. gcc -m32 -fno-stack-protector -mpreferred-stack-boundary=2 -z execstack -fno-pie -o --------------------if_elseif_elseif_elseif_elseif_elseif_elseif_elseif_elseif_elseif_elseif_elseif_elseif_elseif_else-------------------- 간단히 if ifelse else 세가지만 처리해봤다. 함수 프롤로그 이후 scanf로 한개를 입력받는다. 그 후에 ebp-0x4에 있는데이터를 eax로 옮기며 분기문을 시작한다..
어............... 아무생각이없다. 첫 분석이긴한데..어....어떻게 작성해야할지 너무 분석력도 떨어져서 확실하게 분석한건 맞는지 의심이 들 정도로 분석력이 미약하다. 일단 CVE를 보자면 Mini-stream Sadow Stream Recorder 3.0.1.7의 Stack-Based BOF는 원격 공격자가 재생 목록 (.m3u) 파일의 긴 URI를 통해 임의의 코드를 실행할 수있게합니다. 라고 설명 되어있다. POC코드를 보면 다음과 같다. 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 ..
오늘은 이런 글을 보고 많은 얘기를 듣고 Binary Diffing Tool인 Bindiff를 설치하다 삽질했던걸 적어보려 한다. 우선 설치 방법은 간단하다. 준비물은 Bindiff IDA PRO(with hex-ray) JRE 최신버전 이렇게 있으면 된다. Bindiff는 IDA의 플러그인 방식으로 작동하는 툴이다. 우선 설치는 간단하다. Bindiff를 설치하면서 JRE를 설치하고 Bindiff 경로를 IDA 경로에 맞추어 주면 된다. 단, 여기서 IDA는 설치시에 기본적으로 경로가 IDA 6.x or 7.x 이렇게 버전으로 되어있다. 이것을 IDA로 수정해준다. ※ 그리고 혹시 Windows에서 BinDiff를 사용하시는 분들은 "Can't start disassembler. Please set c..
이번 문제는 Replace이다. 글자는 입력이 되지 않고 숫자만 입력이 된다. 그리고 Check를 누르면 에러가 떠버린다. 우선 이게 뭐로 짜여진건지 봐야겠다. C++로 짜여져 있다. 이건 Wrong을 Correct로 바꾸는 문제같은데.. 일단 헥스레이를 이용한다. 우선 보니 입력과 출력함수에 대해 BP를 건다 GetDigItemInt의 리턴값은 입력한 값을 16진수로 리턴한다 분석을 하면 이렇다. 우선 값을 11111을 넣고 Check를 누르면 함수의 RET값으로 0x2B67을 리턴한다. 그리고 아래 함수에 들어가게 되면 Correct를 저장하고 0x4084D0에 있는 입력값을 2 증가시킨다. 후에 0x40466F함수를 실행하고 0x4084D0에 0x601605C7을 더하고 +1 증가시킨다. 0x408..