Author Archives: liang

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

我在做安全工程师的时候经常会遇到审计一个网站发现网站后台输入 /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

div块的问题

我们在进行前端布局时通常会用到div,而div用多了又会造成出现冗余css的情况。但如果减少使用div的话,出现兼容性问题排查问题又得从头开始。所以这里其实可以因人而异。如果是习惯用的可以多用div,这样当出现问题时,一般只需要在div作用区域内排查就会找到问题。不习惯用的可以直接在body体中定义区域。其实编程没有新手老手,大家都是从新手来的。选择自己喜欢的就好。

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

php7下的filesize

在php下filesize是用来计算文件大小的函数,我们可以通过filesize(‘file’)的形式来确定一个文件的字节大小,通过/1024来精确KB,GB等单位。 比如计算一个文件取两位KB的大小实例为 但是实际上如果要计算自身时,也是可以直接取到值的,没有测试php5是不是这样,php7下计算自身默认给的单位给的是字节,所以这样也能得到字节准确结果。 完整的实例为

Posted in php | Tagged , , , , , | 3 Comments

wordpress 提示错误问题

之前忙于其他事情,没有来得及看博客,偶然间发现访问提示 The site is experiencing technical difficulties. 网上查询给出的建议是删除插件目录里的所有插件? 后没敢轻举妄动,删掉了最后一个更新的插件重新安装,再次访问,发现正常。问题解决。

Posted in Uncategorized | Leave a comment

文件上传的前世今生

从开始到现在,文件上传其实都是一项正常功能。其最大的好处就是方便了文件类型信息的交互与传递,大大减轻了现代办公压力。但是,它也有一个悖端,那就是,如果是不怀好意的人上传了不应该上传的内容,就会造成结果的不可预料。这样,就衍生成了一个严重的安全威胁。所以,我们要对文件上传内容进行过滤。 先来看一下什么是上传表单 <form action="up.php" enctype="multipart/form-data" method="post">Add File: <input name="file" type="file" value="" /> <input type="submit" value="Submit" /></form>&nbsp; <?php if(isset($_POST)) { foreach($_FILES as $k=>$v) { foreach ($v as $k=>$v) {                   echo ‘<pre>’;   … Continue reading

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

php夺旗题探究

夺旗题在信息安全领域一般被称为CTF题,随着这几年各方对信息安全慢慢变得越来越重视,CTF也渐渐火了起来。今天就记录一下跟这个有关的东西。 场景: 下班前,看到同事在看一个CTF题。 代码如下 <?php header(‘content-type:text/html;charset=utf-8’); require_once ‘../config.php’; function decode($data){     $td = mcrypt_module_open(MCRYPT_RIJNDAEL_128,”,MCRYPT_MODE_CBC,”);     mcrypt_generic_init($td,’ydhaqPQnexoaDuW3′,’2018201920202021′);     $data = mdecrypt_generic($td,base64_decode(base64_decode($data)));     mcrypt_generic_deinit($td);     mcrypt_module_close($td);     if(substr(trim($data),-6)!==’_mozhe’){         echo ‘<script>window.location.href="/index.php";</script>’;     … Continue reading

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

Windbg分析蓝屏

在Microsoft官网下载Windows sdk安装windbg,安装后, ctrl+s 设置符号表(填入 srv*c:\mss*http://msdl.microsoft.com/download/symbols), 在minidump目录获取dump文件,使用windbg打开,稍等一会会自动得出问题结果。

Posted in Uncategorized | 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

随便写点跟测试有关的东西

1. androidmanifest.xml文件中,选项为false时也不一定代表组件是不可以利用的,比如socket场景。 (各种安全示例里写的全部是错误的。) 2. netstat -anb | grep listen 确认存在后,除了可以检测数据是否明文外,还可以往该地址的该端口发送超大数据确认是否存在溢出。 3. 高度封装后的url可以使用IDA的text search功能提取(ipk,ipa),指望内置http server前端返回locahost格式访问做url hidden甚至是安全防御,如果不对原地址做调用/访问控制和漏洞修复,你的策略就是失败的。

Posted in Android | Tagged , , , , , | Leave a comment