Tag Archives: 判断

关于网站功能页未授权访问的问题

我在做安全工程师的时候经常会遇到审计一个网站发现网站后台输入 /admin/可能给你提示出一个登录页,输/admin/left.jsp 却又能直接访问的问题。也许你会告诉他们,访问功能页要判断当前是否存在有效会话和对应级别id,他们也许听完之后哦的一声就去加了一个if(sessionid=0 && !empty(session)){redirect(‘index’);}(只是举例,这样是不安全的)。但是等你复检的时候,再输个/left, 也会有可能遇到还是可以访问的问题。这个时候其实不是他们没有按照你说的做。而是没有做全。其实很多安全公司写的安全建议报告里面都是存在一项缺失的。那就是对网站模板的处理。不要小看这个模板,很多人你跟他说你的模板没处理,他青筋暴起瞪大眼睛跟你说,模板没处理不算没处理。实际上模板不处理有时候造成的后果也是不亚于功能脚本页没有进行有效会话判断的。比如说有的商业cms可能出于某些原因在js里实现了过多的功能,这些js里实现的功能参数往往过于详细,也许我们直接访问可能不容易猜测到js地址,但是模板页的源码通常情况下都会给我们一个很好的指引。那这里该如何处理呢?

Posted in php security, 安全控制 | Tagged , , , , | Leave a comment

Java漏洞演示平台 BodgeIt试用

这里是下载地址:https://github.com/psiinon/bodgeit 总结来说,它是一款很好的Java环境下的漏洞学习环境,搭建起来也很简单。推荐使用虚拟机,最好自己搞实验,测试的时候,不要在本机操作(有可能带来意外风险。) 因为是Java,想要运行它,jdk肯定是必要的。jdk的下载地址在这里。 http://www.oracle.com/technetwork/java/javase/downloads/jdk10-downloads-4416644.html 现在官网最新的版本是jdk 10。 安装完jdk之后,需要配置一下系统环境变量,这个可以利用一下搜索引擎,自给自足。 jdk安装完毕后,需要安装tomcat。 https://tomcat.apache.org/download-90.cgi 根据系统类型自己选择 如果你打开localhot:8080后如期看到了同样的内容,说明Java运行环境已经妥当。 这里,只需要把源码跑起来就行。仔细想了一下,我没有把该环境用作其它,只是测试,于是直接把webapps目录下的ROOT文件夹删除。 将BodgeIt压缩包的root目录改成大写放置到webapps下,刷新,看到预期页面,说明环境已经可以了。 这里有一个要注意的是,演示环境不能放置在公网。 继续看。 当我在search中输入一段  alert(1) 时发现,它弹出了一个窗口,这代表着,我的Javascript代码已经被执行。可以去代码里看一下,它究竟为什么要这个样子做捏? <h3>Search</h3> <font size="-1"> <% String query = (String) request.getParameter("q"); if (request.getMethod().equals("GET") && query != null){         if (query.replaceAll("\\s", "").toLowerCase().indexOf("<script>alert("xss")</script>") … Continue reading

Posted in java, Uncategorized | Tagged , , , , | Leave a comment

php中的一个有关数组和判断的问题

PHP在比较中用 ==来比较值是否相等, 用 === 来比较值和类型是否相等。 但在现实条件中,可能会发生意外情况,这个是值得开发者注意的。 <?php $flag = ‘Wel come to home’; if($_GET[‘a’] != $_GET[‘b’]) {     if(md5($_GET[‘a’]) === md5($_GET[‘b’]))     {         echo ‘007’.$flag;     } } 比如,程序员通过 ===比较值和类型并判断md5后的信息是否一致,一致后输出欢迎信息,直接给a和b赋值不一样信息的话,第一个条件满足,但是第二个条件又不满足了,所以这个时候可以利用数组和===的一个特性,a[] = 1; b[] … Continue reading

Posted in php security | Tagged , , , , | Leave a comment