我的CTF学习与教学之旅笔记15

CTF综合测试:


知识点:

nmap扫描结果:nmap -A -v T4 IP

nikto扫描结果:注意有config.php\login.php\icons/README

dirb扫描结果:发现一个uploads上传文件目录。

有思路了,msf启动exploit/multi/handler监听,利用上传漏洞,上传反射shell文件,点击运行。


接下来分析扫描结果:

发现有ftp、ssh、http

先访问一下login.php

接下来,注意利用漏洞弱点:

登录界面是否存在SQL注入

敏感信息是否泄漏

已知漏洞:CMS\SMS\wordpress

backup.zip等备份文件,解压密码查询,解压后查看文件类型命令file 


在登录界面, 一定要尝试弱口令123456、admin、root,toor等

在本例中,没有弱口令。

只好尝试绕过登录机制:

思路:查看页面源代码(特别要注意注释语句,script语句),之后利用burpsuite进行fuzz测试,绕过登录验证机制

再用web模糊测试字典,位置在/usr/share/wordlists/wfuzz

本例中:源代码有script,如下

<script type="text/javascript">   
function control(){
    var user = document.getElementById("user").value;
    var pwd = document.getElementById("pwd").value;

    var str=user.substring(user.lastIndexOf("@")+1,user.length);
    
    if((pwd == "'")){
        alert("Hack Denemesi !!!");
        
    }
    else if (str!="btrisk.com"){
        alert("Yanlis Kullanici Bilgisi Denemektesiniz");
    
    }    
    else{
        
      document.loginform.submit();
    }
}
</script>

分析上述脚本,发现没有sql注入过滤,而且用户名必须以@btrisk.com结尾

我的做法:是构造用户名admin@btrisk.com,密码:' or '1=1  或者 ' or 1=1 -- ',均可以实现SQL注入

成功后看到的界面如下:有已交文件按钮

另外一种做法:

利用burpsuite,拦截用户名、密码,进行fuzz测试。

根据返回页面的不同,判断成功页面和失败页面,进而确定探测出正确密码。

本例中使用:/usr/share/wordlists/wfuzz/Injections/SQL.txt字典

首先开启浏览器的代理proxy

回到登录界面login.php,输入用户名btrisk.com,密码随便输入123456

确认burpsuite的proxy标签下,intercept is on,在登录界面点击登录按钮,此时burpsuite进行拦截

点击“ACTION”,选择“send to intruder”进行测试

在intruder标签下,选择“position”标签,定义变量;选择“payloads”标签,payloads type选择Runtime file ; “select file”设置为我们刚才选好的SQL.txt

都选好后,选择菜单“intruder”-》“开始攻击”

根据返回登录信息长度判断,有可能登录成功的信息,2900可能,2044,2203都是不能登录的。排序。通常认为,极少数的length值对应的是能够成功登录的。

选中相关信息,response->render,我的不成功。可以选择弹出菜单,在浏览器中浏览“show response inbrowser”,注意要先关闭proxy中的intercept off。如下图,出现了,“选择文件”按钮。

创建1.jpg、1.php,尝试在新绕过验证的界面中上传,发现php文件是不能够上传的。

这是需要进一步利用burpsuite进行截断

先把1.php文件,改成可以上传的文件格式如:shell1.jpg,此时要保证burpsuite的proxy的intercept off

在上传页面选择shell1.jpg上传。上传确定之前,要把burpsuite的proxy的intercept on

点击上传,此时,butpsuite可以截断数据包,在“proxy”下的“inception”标签下,把数据包中的file进行改名,改为shell1.php,点击forward,发送,回到浏览器,发现上传成功!!!!

到upload目录,验证是否上传成功

这是个思路。

生成木马shell,把php文件改名成jpg后上传,burpsuite截断,再改名上传

msfconsole启动监听,远程访问木马shell,建立连接。渗透成功!!!

常见操作如下:

在本例中,可以用nikto、dirb扫描到一个config.php的配置文件,渗透成功后,可以浏览该文件,看到mysql的用户名、密码和数据库。

mysql -u root -p -h localhost

deneme数据库:如下

可以看到带*的数据,猜测可能是密码。试一下asd123***,居然是root密码!!!!!!

全部搞定。

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值