Skipfish是免费的网页扫描工具中最好的
毕竟是Google出的,果然不差,比Nikto要强大的多,推荐使用! FYI,这里可以下载到编译好、可在Windows上直接运行的版本: http://www.shortinfosec.net/2010/03/compiling-latest-skipfish-for-windows.html 使用方法: skipfish -h
毕竟是Google出的,果然不差,比Nikto要强大的多,推荐使用! FYI,这里可以下载到编译好、可在Windows上直接运行的版本: http://www.shortinfosec.net/2010/03/compiling-latest-skipfish-for-windows.html 使用方法: skipfish -h
在攻击的时候,如果你要提交一个表单,它可以先弹出一个对话框,然后让你增删改所有POST的参数,然后再发送POST请求 它还提供了一些常用的攻击字符串,比如 SQL注入、XSS攻击等
1.服务器配置中的漏洞 a.默认的用户名/密码还留着,比如Tomcat里的 root/root b.默认的内容,比如Tomcat中的/admin, /example c.目录List功能没有关闭,可能导致敏感信息泄漏 d.没有禁止PUT/DELETE等危险的HTTP方法 (攻击办法:使用OPTIONS请求头查探服务器所支持的方法) 2.服务器软件的漏洞: 论坛上已报知的软件漏洞,并且管理员一直没打补丁
常见漏洞有: 1.持久性的Cookie 2.缓存的WEB页中含有敏感信息 3.缓存的历史访问中含敏感信息 4.自动完成 防止攻击: 1.敏感数据不要放在Cookie中 2.敏感页面应禁止缓存 3.URL中不要含敏感信息 4.敏感信息的输入框应禁止自动完成 (autocomplete=off)
攻: 1.攻击者匿名访问某个站点,多点几下 2.站点此时已经生成会话,其会话ID被串在URL后面 http://hello.com/hi.jsp?sessionid=xxx (或者放在Cookie里) 3.攻击者把这个URL发给被害人 (或者通过XSS漏洞把Cookie注入到被害者的浏览器里) 4.用户用这个URL登录 5.攻击者在自己家里继续用 http://hello.com/hi.jsp?sessionid=xxx 浏览网站,这时侯他已经以被害人的身份在系统中游荡了 防: 用户登录成功后,系统应生成新会话
攻: 如果网银中的“显示余额”功能是用 Ajax + JSON 做的,就可以按照 XSRF 的方式窃取这个信息. 1.用户登录网银了 2.然后他去一个论坛 3.论坛里有篇文章,其中有人利用XSS漏洞注入了一个脚本 <script> var script = document.createElement("script"); script.src = "http://…/查看我的余额.json? callback=sendToAttacker"; document.getElelementsByTag("head")[0].appendChild(script); function sendToAttacker(jsonData){ //jsonData.余额 sendToMySite(jsonData.余额) } </script> 4.用户查看这篇文章,中标 ============================================================ 防: 1.能防RF,就能防JSON挟持 2.故意在JSON数据前面弄点乱七八糟的东西,这样就导致 script.scr=查看.json 出错,但浏览器拿到JSON时却不会出错 3.使“查看余额.json”只支持POST
如果脚本试图向本站(域名、端口相同)发送HTTP请求,浏览器会允许发出这种请求并返回响应 如果脚本试图向他站发送HTTP请求,浏览器仍会允许发出请求,但并不会返回响应 但是,可以通过以下代码绕过这个限制: var s = document.createElement("SCRIPT"); document.getElementsByTagName("HEAD")[0].appendChild(s); s.src="http://xxx.com/someJson.do";
其原理仍是挟持受害人的session,然后利用这个session去做点别的事情 按攻击的发生地点,RF (Request Forgery)可分两种: 1.本站RF (OSRF) a.已登录的受害人访问本站页面,此页面中有攻击者注入的脚本 b.这个脚本调用 http://本站/转账给攻击者.jsp 由于受害人已登录,这个脚本可以成功执行 Note: 攻击者并非一定要注入脚本。注入图片也可以: <img src=”http://本站/转账给攻击者.jsp”/> 2.跨站RF (XSRF) a.已在normal.com登录的受害人访问attacker.com的页面,此页面中有攻击者注入的脚本 b.这个脚本调用 http://normal.com/转账给攻击者.jsp 由于受害人已登录,这个脚本可以成功执行 如何防止: 在表单页面生成一个随机的Token,处理表单时检查一下这个Token是否正确。 如果有害脚本读取这个表单页面,解析出token呢?- 不可能。因为浏览器同源策略不允许ajax脚本读取其他域名的页面。 不能通过HTTP Referer来判断请示是否来自本站,因为这个很容易伪造。
攻: 1.已知:本系统中输入银行卡号的页面URL为 http://www.hello.com/pay.jsp。登录合点击某链接即可进入此页面 2.攻击者不登录,直接输入http://www.hello.com/pay.jsp 3.系统提示登录,提示页面的URL是 http://www.hello.com/login.jsp? redir=pay.jsp 4.攻击者把地址栏里的页面改成 http://www.hello.com/login.jsp? redir=http://www.hallo.com/pay.jsp,并想办法让别的用户点这个URL 5.上当者点这个URL,进入http://www. hallo.com 的卡号输入页面,然后糊里糊涂地把卡号信息提交给 http://www. hallo.com这个钓鱼网站 防: 1.系统不应该从参数中获取重定向的目标地址 2.如果必须要从参数中获取,则应该校验参数中的URL是相对URL
利用XSS漏洞可以干些什么? 1.替换网站的内容,比如股票价格什么的 2.注入木马 3.导致受害者在本网站执行操作。比如,在脚本里执行“转账”功能 4.攻击用户机器,比如记录所有键击、截获剪贴板内容等