sqlmap检索DBMS banner
获取后端数据库banner信息
参数 --banner或者-b
sqlmap检索DBMS当前数据库
获取当前数据库名
sqlmap检索DBMS当前主机名
获取主机名
参数 --hostname
sqlmap检索DBMS用户信息
sqlmap探测当前用DBA
探测当前用户是否是数据库管理员
sqlmap枚举DBMS用户密码
Sqlmap会先列举用户,再列举用户密码Hash值。()
自动默认选项
–batch 自动默认选项sqlmap枚举DBMS用户
获取DBMS所有用户
sqlmap枚举DBMS权限
参数:–privilegespython sqlmap.py -u “http://127.0.0.1/sqli/Less-1/?id=1” --privileges U root
sqlmap枚举信息
sqlmap列举数据库名
列举数据库名称
sqlmap枚举数据库表
列举数据库表名
sqlmap枚举数据表列
参数 – columnssqlmap枚举数据值
参数 --dumpsqlmap枚举schema信息
用户可用此选项列举数据库管理系统的模式。模式列表包含所有数据库、表、列、触发器 和他们各自的类型。 同样地,可使用参数–exclude-sysdbs排除系统数据库。
sqlmap检索数据表数量
如果用户只想知道表的条目数,则可以使用此参数
sqlmap获取数据信息
参数 --start --stopsqlmap设置条件获取信息
参数 --wherepython sqlmap.py -u “http://127.0.0.1/sqli/Less-1/?id=1” -D security -T users --where=“id>3” --dump
sqlmap暴力破解数据
暴力破解表名
有些情况下用–tables不能列出数据库中表名来比如:
1.版本小于5.0的MySQL没有information_schema表
2.数据库用户权限过低无法读取表名
sqlmap检索所有信息
返回所有的检索信息
介绍SQL注入
SQL注入就是指web应用程序对用户输入数据的合法性没有判断,前端传入后端的参数是攻击者可控的,并且参数代入数据库查询,攻击者可以通过构造不同的SQL语句来实现对数据库的任意操作。
SQL注入漏洞的产生需要满足两个条件
参数用户可控 参数带入数据库查询,传入的参数拼接到SQL语句,并且带入数据库查询SQL注入的危害
1.数据库敏感信息泄露 2.页面被窜改 3.数据库被恶意操作 4.服务器被远程控制SQL注入的分类
根据注入位置数据类型可将SQL注入分为两类:数字型和字符串型SQL注入的形成原因:
1.数据与代码未严格分离 2.用户提交的参数数据未做充分检查过滤及被带入到SQL命令中,改变了原有SQL命令的’语义’ ,且成功被数据库执行 3、SQL注入过程 火狐浏览器插件安装hackbar破解安装
先下载火狐浏览器和上面的插件:
安装成功:包含多种工具
关闭自动更新:
GET和POST请求
GET提交,请求的数据会附在URL之后(就是把数据放置在HTTP协议头中),以?分割URL 和传输数据,多个参数用&连接。 (大多数网站采用GET方式) POST提交:把提交的数据放置在是HTTP包的包体中。 (POST方式更安全)因此,GET提交的数据会在地址栏中显示出来,而POST提交,地址栏不会改变。
通过url中修改对应的ID值,为正常数字、字符(单引号,双引号,括号)、反斜线来探测url中是否存在注入点。
1、order by判断字段数
order by测试出数据库中含有3个字段
2、利用union select联合查询,获取表名
获取表名
3、利用union select联合查询,获取字段名
4、利用union select联合查询,获取字段值
获得字段值,即账号密码: