| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 804 人关注过本帖
标题:注入SQL
只看楼主 加入收藏
dzxiaojie
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2009-1-30
结帖率:11.11%
收藏
 问题点数:0 回复次数:6 
注入SQL
<%
Dim StrServer,StrUid,StrSaPwd,StrDbName
StrServer="192.168.1.2" '数据库服务器名
StrUid="sa" '您的登录帐号
StrSaPwd="8866333" '您的登录密码
StrDbName="dzjt" '您的数据库名称

Dim Conn '数据库连接
Dim StrDSN '数据库连接字符串
Dim Rs '命令字符串

StrDSN="driver={SQL server};server="&StrServer&";uid="&StrUid&";pwd="&StrSaPwd&";database="&StrDbName
'建立和数据库master的连接
set Conn = Server.CreateObject("ADODB.Connection")
set Rs=Server.CreateObject("ADODB.RecordSet")
Conn.Open StrDSN

%>

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

<!--#include file="adoconn.asp"-->
<!--#include file="md5.asp"-->
<%
username=request.Form("username")
password=request.Form("password")
crypt_password=md5(password)

SQL="Select Max(F_ID) From T_usercore"
set rs1=conn.Execute(SQL)
tmp=rs1(0)

sql="select * from T_usercore where F_username='"&username&"'"
rs.open sql,conn,1,1
If Not rs.eof Then
 response.write "no"
 response.end
End If
rs.close

sql="insert into T_usercore(F_id,F_username,F_type,F_Seconds,F_active,F_stoptime,F_password,F_Coints) values('" & (tmp+1) & "','"&username&"',0,720000,1,'"&Now()&"','"&crypt_password&"',0)"
rs.open sql,conn,1,3
response.write "yes"
%>


+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


<!--#include file="adoconn.asp"-->
<%
username=Replace(request.querystring("username"),"'","")
sql="select * from T_usercore where F_username='"&username&"'"
rs.open sql,conn,1,1
if rs.eof then
 response.write "no"
else
 response.write "yes"
 end if
 rs.close
 %>

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

哪位高手看下这个怎么注入








搜索更多相关主题的帖子: 服务器 数据库 字符串 
2011-01-25 00:24
haigecnpeng
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:2
帖 子:261
专家分:510
注 册:2008-10-6
收藏
得分:0 
' or 1=1 or ''='

都说到了.net年代,VB与C#都是一样的!
但为什么招聘的都是C#呢?
2011-01-26 20:47
dzxiaojie
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2009-1-30
收藏
得分:0 
以下是引用haigecnpeng在2011-1-26 20:47:41的发言:

' or 1=1 or ''='
我打开网址输入 http://192.168.1.2/checkuser.asp?username=test (这个账号存在)返回的就是yes  http://192.168.1.2/checkuser.asp?username=test 'or 1=1 ''=' 返回的就是no  不像网上说的那样返回什么错误信息啊 怎么才能注入
2011-01-29 01:25
baoyuwang198
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:55
专家分:180
注 册:2011-1-22
收藏
得分:0 
真实的注入并非和网上传的一样
很多注入法都失效了
password=5 'or '1'='1 这是一种
insert into talble1 values(txtbox1.Text);
我们现在给txtbox1.Text插入这么一句进去 "U") delete from Table1 --    //用--把原来的右括号给注释了
等等..
不过现在数据库一般都用参数化查询解决了这个漏洞

曾经我们两个人28楼上仰望星星
如今我一个人28层楼下仰望过去
2011-02-06 19:44
dzxiaojie
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2009-1-30
收藏
得分:0 
以下是引用baoyuwang198在2011-2-6 19:44:55的发言:

真实的注入并非和网上传的一样
很多注入法都失效了
password=5 'or '1'='1 这是一种
insert into talble1 values(txtbox1.Text);
我们现在给txtbox1.Text插入这么一句进去 "U") delete from Table1 --    //用--把原来的右括号给注释了
等等..
不过现在数据库一般都用参数化查询解决了这个漏洞
http://192.168.1.2/zyxtj//adoconn.asp
我打开这个是个空白页面

http://192.168.1.2/zyxtj/checkuser.asp
打开这个返回的是yss

http://192.168.1.2/zyxtj/checkuser.asp?username=badao
打开这个也是返回的 yes  badao这个用户存在

http://192.168.1.2/zyxtj/checkuser.asp?username=badao1

打开这个返回的就是no  badao1 这个用户不存在


怎么才能注入
2011-02-07 22:44
qingshuiliu
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:17
帖 子:323
专家分:1538
注 册:2009-12-28
收藏
得分:0 
这个话题,本来不应该在论坛中探讨。所以,以下说明纯粹是技术探讨
注入,从本质上讲是拼接成可以执行的SQL语句。
最常见的就是在登录的情况下,例如从数据库获取一个用户的查询为:
假如: select * from [User] where Account='sa' and Password='XXXXXX'
这种情况下,在用户名和密码框中分别输入“sa”,“fsdf' or 1=1”
则最后的查询为:select * from [User] where Account='sa' and Password='fsdf' or 1=1
注意到最后的查询条件,这个查询总是成功的。
不过,SQL注入真的没有什么意思,而且很容易通过参数化,加密等方法可以防止。
还有,站在网站创建人的角度想想,大家都不容易,不要去做这种损人不利己的事情。
2011-02-09 11:22
zznice
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:32
专家分:102
注 册:2011-2-7
收藏
得分:0 
版主,我不认同你的观点,只有研究好怎么注入,这样我们写出的程序才会更加强壮,这样对网站的安全来说,不是更好?
2011-02-11 00:34
快速回复:注入SQL
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018825 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved