我们打开关卡lv30,登陆查看信息
我们可以看到是一个标准的登陆框
可能存在注入?
我们先看源码
是perl语言的文件
END
if ('POST' eq request_method && param('username') && param('password')){
my $dbh = DBI->connect( "DBI:mysql:natas30","natas30", "<censored>", {'RaiseError' => 1});
my $query="Select * FROM users where username =".$dbh->quote(param('username')) . " and password =".$dbh->quote(param('password'));
my $sth = $dbh->prepare($query);
$sth->execute();
my $ver = $sth->fetch();
if ($ver){
print "win!<br>";
print "here is your result:<br>";
print @$ver;
}
else{
print "fail :(";
}
$sth->finish();
$dbh->disconnect();
}
print <<END;
看到又是sql注入,
关键在与构造查询语句
查看大神的分析
我们根据大神的思路进行
打开bp抓包
采用post方法
修改数据包
payload为
username=natas31&password='xxx' or 1=1 &password=2
得到密码
参考文章
Natas30 Writeup(sql注入) - zhengna - 博客园 (cnblogs.com)