mysql:3306
sqlserver(mssql):1433
oracle:1521
postgreSQL:5432
db2:50000
利用万能密码绕过登录认证
获得数据库,查出管理员账号密码
读取文件内容,向服务器写webshell,植入木马
破坏数据库,是网站崩溃
使用安全API
对输入特殊字符进行Escape转义
使用黑白名单规范输入
服务器端在提交数据库SQL查询前,对特殊字符进行过滤、转义、替换、删除等操作
SQL语句采用预编译和绑定变量
使用安全设备进行防护,例如WAF
union、布尔、报错、时间、堆叠查询、二次注入、宽字节等
database():数据库名
user():数据库用户名
updatexml():更新xml文档,常用于报错注入,可代替函数:extractvalue
mid():从指定字段中提取字段的内容
limit():返回结果中的前几条数据或者中间的数据
concat():返回参数产生的字符串
rand():参数0~1个随机数
flood():向下取整
substr():截取字符串,可代替函数:substring()mid()
ascii():返回字符串ascii码
left():返回字符串最左边指定个数的字符
ord():返回字符的ascii码
length():返回字符串长度
sleep():延时函数
--dbs
--batch
get类型:直接sqlmap -u url地址
post类型:sqlmap -u url --data=post的参数?
? ? ? ? ? ? ? ? ? sqlmap -r 请求数据包的文件地址
header注入:sqlmap -r 请求数据包的文件地址
注:在进行post注入或header注入时,可以使用*标记注入点
宽字节注入
hex编码绕过
mysql5.0以下没有information_schema库,不能列表名,只能暴力跑表名
mysql5.0以下是多用户单操作
mysql5.0以上是多用户多操作
待学习
待学习
暂时到这,有时间继续补充