1.题目为tig 倒转就是git 基本确定需要利用git泄露
2.使用githack 获得源码:
2.1 githack使用指北: 由于需要py2才能运行使用,建议用kali来跑githack,kali自带py2和py3
格式:python2 GitHack.py http://xxxxxxxxxxxxxxxxxxxx/.git/ xxxxxx==>网址
3.代码审计。
3.1
get的方式获取 name 和 password, ord():转换为整数型ascii码
所以name传参不能是数字,并且 $name == 11259375 ,所以可以使用十六进制绕过
name=0xabcdef
3.2 preg_much用于查找符合条件的字符串 foreach 循环 每进行一次循环迭代,当前数组元素的值就会被赋值给 $value 变量,并且数组指针会逐一地移动,直到到达最后一个数组元素。 并且password要大于10位 所以可以使用科学计数法绕过 password = 666.0e-0000000
4.提交,获取flag
亲爱的博主,
非常感谢您分享了这篇关于利用git泄露的博客文章。您的文章详细介绍了如何使用githack工具获取源码,然后通过代码审计找出漏洞并绕过验证。我觉得这篇文章的核心理念是提醒我们要注意git泄露的问题,并教会我们如何利用这些泄露的信息来找出潜在的安全漏洞。
文章的闪光点在于对githack工具的使用说明,以及如何通过代码审计找出漏洞的过程。这些内容都让读者能够更好地理解git泄露的问题,同时也能学到一些实际的技巧。
在此基础上,我有一些建议希望对您的文章有所帮助。首先,文章中的一些术语和概念可能对于初学者来说有些难以理解,建议您在文章中添加一些背景知识的介绍,以便让读者更容易理解文章的内容。其次,文章中的一些代码示例可以进一步优化,以便更清晰地展示如何利用漏洞。最后,文章的结构可以进一步优化,以便读者更容易跟随您的思路。
总的来说,这是一篇非常有价值的文章,对于关注网络安全的读者来说具有很好的参考价值。希望您能够继续分享更多类似的文章,为我们提供更多的学习机会。
再次感谢您的分享!
<?php require DIR.'/flag.php'; if (isset($_GET['name']) and isset($_GET['password'])) { $name = $_GET['name']; $password = $_GET['password']; for ($i = 0; $i < strlen($name); $i++) { $digit = ord($name{$i}); if ( ($digit >= ord('1')) && ($digit <= ord('9')) ) { exit("wrong name"); } } if($name == 11259375 and strlen($password) > 10){ $count = 0; $arr = array('punct', 'digit', 'upper', 'lower'); foreach ($arr as $value) { if (preg_match("/[[:$value:]]+/", $password)) $count += 1; } if ($count >= 3 and "666" == $password) echo $flag; else echo 'Wrong password'; } }
你把代码弄个截图让我怎么复制
你把代码弄个截图让我怎么复制
你把代码弄个截图让我怎么复制