安恒5月赛web题目做题记录

奇怪的恐龙特性

这是一道代码审计的题目,又发现了一个我以前没见过的知识点,可以详细看看这个链接
https://wooyun.shuimugan.com/bug/view?bug_no=64792

CWrqSS.png
从上面可以看出,简单点解释就是当代码中存在$_REQUEST['user_id']里面类似的参数的时候,我们在url上可以这样a.php?user.id传参去进行绕过,这样进去之后也能表示$_REQUEST['user_id']的值,同样可以绕过的符号还有+,[ 等,应该说是php的一个小特性,上面讲的很清楚了,

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php 
highlight_file(__FILE__);
ini_set("display_error", false);
error_reporting(0);
$str = isset($_GET['A_A'])?$_GET['A_A']:'A_A';
if (strpos($_SERVER['QUERY_STRING'], "A_A") !==false) {
echo 'A_A,have fun';
}
elseif ($str<9999999999) {
echo 'A_A,too small';
}
elseif ((string)$str>0) {
echo 'A_A,too big';
}
else{
echo file_get_contents('flag.php');

}

?>

阅读代码发现,首先第一步要绕过A_A这个符号,如果出现这个符号他就会显示A_A,have fun,就不能继续往下面执行到file_get_contents('flag.php')了,但是我们发送get参数的时候又必须要发送,因此我们就用到刚才的知识点,我们可以用A.A或者是A+A去传参去绕过。
下面的代码就是常规的数字绕过了,但这里也用到了一个trick,就是无论你的数字多大,对于数组而言总是比数组小,下面是操作
CWrXLj.png
所以说,我们可以利用数组去绕过$str<9999999999的特性,下面一个判断是强制转化为字符串在与数字比较的判断,这就是平常操作很多的弱类型了,直接让参数等于admin就可以了,因为“admin”== 0 ,结果是true,直接等于0绕过即可,所以这题的payload

1
http://101.71.29.5:10007/?A+A[]=admin

不能注册的admin

这一个题目利用了Windows不区分大小写特性的特点
右键发现发现有一段代码很可疑

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
id = $("#uid").val();
$(document).ready(function(){
$("#uid").blur(function(){
if(id !== ""|| !id){
$.ajax({
url:"json.php",type:'post',data:{'id':id},success:function(d){
var data = eval('(' +d +')');
if(data['id'] !='undefined' ||data['id'] !="" ||data['id']!=null){
alert('用户名已存在!');
}
}
})
}
})
})

仔细查看代码发现存在json.php还有post一个id参数,到后面看了解题的视频发现其实这里还能用get方式传参,我们就进去json.php页面查看一下,竟然题目说了要admin就传一个admin进去,发现有回显{'id':'1','title':'admin'},尝试一下是否存在sql注入漏洞,在尝试双引号的时候发现有报错信息,然后详细一点测试json.php?id=admin" or 1=1%23,发现有检测,这就很尬,后来还是看了视频才知道是从头部信息哪里发现的服务器是Windows的,这样就可以用Windows的大小写特性去绕过,就可以尝试一下json.phP?id=admin" or 1=1%23,重新回显{'id':'1','title':'admin'},这就可以慢慢注入了啊,接下来就是sqlmap一把过就行。。。。说实话我是真想不到,还是要虚心学习啊

1
python sqlmap.py -u "http://101.71.29.5:10006/json.Php?id=admin"  --threads 10 -D 5monthweb -T article -C content --dump

最后得到结果
CWrves.png

一个hackerone的有趣的漏洞的复现的题目

这题考了.git源码泄露,把源码拿下来以后打算第二天做。。。这个题目第二天做的时候因为平台维护不能复现了,下次还是早点做吧。。还得继续努力。。。。。

CWrzoq.png


听说,打赏我的人最后都成了大佬。



文章目录
  1. 1. 奇怪的恐龙特性
  2. 2. 不能注册的admin
  3. 3. 一个hackerone的有趣的漏洞的复现的题目