curl 으로 읽었는데.. WebKnight방화벽?
글쓴이: 토마토 / 작성시간: 화, 2008/08/12 - 9:54오후
libcurl을 설치 하고..
테스트 프로그램을 돌려서
www.google.com 이나 다른 웹사이트의 url 의 http 을 읽어오는 것을 하였습니다
그런데 어떤 사이트에 (실제 접속이 필요한 주소)
접속을 하려고 하니..
WebKnight Application Firewall Alert 라는타이틀에.. http 파일이 넘어옵니다.
실제 웹주소의 html 문서는 아니고.. 해당 사이트의.. 모든 경로에 접속을 해보려 하니 모두 위와 같은..
html 문서만 넘어옵니다... 방화벽에 걸린건가요? 아니면 바이러스인가요??
이걸 풀려면... 해당 사이트에 문의 해야하나요???
서버와 xml문서 를 http 프로토콜로 주고 받고 하는 작업을 하려고 하는 중입니다.~~~
//--- 넘어온 코드 ----
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <HTML> <HEAD> <TITLE>WebKnight Application Firewall Alert</TITLE> <META NAME="ROBOTS" CONTENT="NOINDEX"> </HEAD> <BODY text="#000000" vlink="#FF3300" link="#FF3300" bgcolor="#ffffff"> <TABLE cellspacing="5" cellpadding="3" width="410"> <TR> <TD align="left"> <FONT face="Verdana,Arial,Helvetica" size="2"> <FONT size="3"><B>WebKnight Application Firewall Alert</B></FONT><BR><BR><BR> Your request triggered an alert! If you feel that you have received this page in error, please contact the administrator of this web site. <BR> <HR> <BR><B>What is WebKnight?</B><BR> AQTRONIX WebKnight is an application firewall for web servers and is released under the GNU General Public License. It is an ISAPI filter for securing web servers by blocking certain requests. If an alert is triggered WebKnight will take over and protect the web server.<BR><BR> <HR> <BR>For more information on WebKnight: <A HREF="http://www.aqtronix.com/webknight/">http://www.aqtronix.com/WebKnight/</A><BR><BR> <B><FONT color="#FF3300">AQTRONIX</FONT> WebKnight</B></FONT> </TD> </TR> </TABLE> </BODY> </HTML>
//--- 여기까지 ---
Forums:
대상 방화벽에 Redirect URL Filter 가 존재하는 것 같습니다.
Redirect URL Filtering 때문에 패킷이 걸리고 있는 것 같습니다.
====
( - -)a 이제는 학생으로 가장한 백수가 아닌 진짜 백수가 되어야겠다.
넵. 해당사이트에 문의해보도록 하겠습니다.
답변감사드립니다..
제가 다른방법으로라도 해당 사이트를 읽을 수 있는 방법은 없나요?
그냥 윈도우 익스플로러 상에서 해당 URL을 치고 들어가면 잘들어가지는데...
curl 을 통해서 불러내려고 하니 안되네요..~
해당 사이트에 방화벽을 풀어달라고 하는 방법 밖엔 없나요?
아마도, 웹 로봇(robot,
아마도, 웹 로봇(robot, spider, crawler등으로 불리지요)설정에서 차단된듯합니다.
많은 웹서버들이, 사람이(?) 직접방문하는 경우에 대해서는 제약을 가하지 않는 편입니다만, 검색엔진등 어떤 자동화된 도구(사이트를 긁어가는... 에이전트)들이 접근하는 것은 제약을 가하고 있습니다.
즉, 본연의 서비스(인간위주의 고객)가 기계적인 접근에 의해 방해되는 것, 또는, 이로 인한 시스템의 부하등을 막고자한 노력의 산물이랄까요?
그래서 보통은 웹서버의 root에 robots.txt라는 파일이 존재하게 됩니다. 이 파일에는 어떤 봇(bot)이 접근할 수 있는지, 접근주기제한등을 기술하게 됩니다.(자세한 내용은 robots.txt를 키워드로 검색해보세요.)
한편, libcurl은 상당히 훌륭한 라이브러리입니다만, 이를 이용하여 단순코딩하면, 자신이 컬라이브러리로 작성되었음을 웹서버 접근시 전달하게됩니다.(모든 user agent들이 이런일을 하지요 보통은.) IE는 자신이 IE라고 어쩌고 할것이고, firefox, 구글의 검색엔진을 위한 로봇등도 마찬가지입니다.
그런데, 웹방화벽(여기서는, WebKnight)은 SQL Injection등 매우 위험한 공격에 대한 방어를 행하기도 하지만, Robot에 대한 차단도 가지고 있는듯합니다(확인해보지 않았음)
따라서, 차단을 푸는 방법은 웹방화벽설정에서 libcurl또는 curl로 접근하는 것을 허용해달라는 형태로 이뤄져야 할 듯합니다.
아니면, 웹방화벽설정에서 허용하는 형태로 사이트와 통신하는 것을 만들거나, 사칭(?!)하게 만들거나등을 고려해 볼 수 있을 듯합니다.
참, 실험을 먼저, 해보시기 바랍니다. IE나 FireFox에서 해당사이트의 URL을 주었을때, XML이 제대로 잘~ 넘어 오는지 말입니다.
------------------ P.S. --------------
지식은 오픈해서 검증받아야 산지식이된다고 동네 아저씨가 그러더라.
------------------ P.S. --------------
지식은 오픈해서 검증받아야 산지식이된다고 동네 아저씨가 그러더라.
윈도우 익스플로러에서는 xml 이 제대로 넘어오고있습니다.~
IE 에서는 xml 메시지가 제대로 보입니다..
답변 감사드립니다..
http://www.aqtronix.com/downl
http://www.aqtronix.com/downloads/WebKnight/Robots/Robots.xml
여기 보시면 libcurl도 block되는 agent로 나와 있습니다.
IE로 속여서 접속하는게 제일 좋은것 같네요. ^^
--
익스펙토 페트로눔
--
익스펙토 페트로눔
어떻게 속일수 잇나요????~~~^^;
왠지 해킹 하는 느낌이네요~~^~
도움말을 한번
도움말을 한번 볼까요?
이렇게 나오는 군요.
그렇다면, 다음과 같이 테스트를 해보세요.
위에서 진하게 표시된 부분('Mozilla/3.0 (Win95; I)')이 웹서버에게 전달될 자신의 에이전트 유형정보이겠습니다. 이 문자열을 보고 웹서버(이 글의 경우에는 웹방화벽이겠지요)는 접속한 클라이언트의 User-Agent유형을 판단합니다.
따라서,이를 "..생각대로 하면 되는(!).." User-Agent문자열을 찾고, 이것으로 바꿔서 시도해보면 되겠습니다.
참고: User-Agent문자열 정보는 단순히 구글에서 "User-Agent"로 검색하시면, 이런 문자열만 수집하시는 애호가들에게 정보를 얻으실것으로 보입니다. 또는, 이더리얼, tcpdump등으로 웹트래픽을 잠시 모니터링하면 금방나오겠습니다.
하여간......
만일 이런식으로 해서 처리가 된다면, 아래처럼 코드를 바꿔서 해봐도 되겠군요.
* 주의 : 위에서 예시한 User-Agent 문자열은 테스트되지 않은 문자열입니다.
* 또한 robots.txt규약을 지키지 않을 경우, 업무방해에 해당될 수 있습니다. 아주 빈번한 사이트 접속 또는 대량데이터 전송이라면, 웹서버운영측과 반드시 협의하셔야 할 것입니다.
------------------ P.S. --------------
지식은 오픈해서 검증받아야 산지식이된다고 동네 아저씨가 그러더라.
------------------ P.S. --------------
지식은 오픈해서 검증받아야 산지식이된다고 동네 아저씨가 그러더라.
저도 전에
저도 전에 해봤는데...
User-Agent 변경으로는 해결이 안되더군요. -o- 설정이 좀 틀리게 되어있던가??
하여간 그대는 델파이에서 기본 콤포넌트를 사용했었는데.. 잘안되어서
결국엔 콤포넌트를 바꾸어서 해결봤습니다. :)
댓글 달기