[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系統大量的不使用繫結變數(當然前提是合理),是一個不成熟的團隊,可惜國內的大部分開發團隊從這點講基本
都做不到,更可怕的是你跟他們講依舊重複這個錯誤,從這點看國內開發團隊大部分都長不大,都是豆腐渣團隊.悲哀啊
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-2125126/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- [20170912]sql injection例子.txtSQL
- SQL 注入:聯合注入SQL
- sql注入之union注入SQL
- sql注入SQL
- SQL 注入SQL
- sql注入修改SQL
- sql注入1SQL
- sql注入2SQL
- SQL防注入SQL
- 防止sql注入SQL
- DBMS_SQL例子SQL
- (17)sql注入與sql modeSQL
- SQL Server 之 SQL 注入篇SQLServer
- sql注入之堆疊注入及waf繞過注入SQL
- sql注入之型別及提交注入SQL型別
- sql注入攻擊SQL
- 如何防止sql注入SQL
- SQL 注入攻擊SQL
- PHP SQL防注入PHPSQL
- sql注入——盲注SQL
- NSSCTF———Web(sql注入)WebSQL
- PL/SQL 索引表例子SQL索引
- sql loader使用例子SQL
- [20170708]tmux script例子.txtUX
- 如何有效防止sql注入SQL
- pick靶場-sql注入SQL
- SQL MAP 注入測試SQL
- XSS 和 SQL 注入SQL
- SQL,請別注入ASPSQL
- 二次注入(SQL)SQL
- sql聯合注入原理SQL
- 依賴注入的很好的一個部落格例子依賴注入
- Spark SQL 最簡單例子SparkSQL單例
- SQL Server遊標使用例子SQLServer
- JDBC 如何有效防止 SQL 注入JDBCSQL
- sql注入簡單總結SQL
- Python如何防止sql注入PythonSQL
- SQL 注入技術詳解SQL