Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 编写易受攻击的注入代码sqlite3_Python_Sqlite_Sql Injection - Fatal编程技术网

Python 编写易受攻击的注入代码sqlite3

Python 编写易受攻击的注入代码sqlite3,python,sqlite,sql-injection,Python,Sqlite,Sql Injection,我正在编写一个python文件来查询,该文件容易受到sql注入的攻击。 这里是表名和列名,在执行python文件时对其进行约束,并将约束作为命令行参数提供。 这是pyhon文件: import sqlite3 import sys con = sqlite3.connect("univ1.db") cur = con.cursor() table = sys.argv[1] column = sys.argv[2] constraint = sys.argv[3] cur

我正在编写一个python文件来查询,该文件容易受到sql注入的攻击。
这里是表名和列名,在执行python文件时对其进行约束,并将约束作为命令行参数提供。
这是pyhon文件:

import sqlite3
import sys

con = sqlite3.connect("univ1.db")
cur = con.cursor()

table = sys.argv[1]
column = sys.argv[2]
constraint = sys.argv[3]
cur.execute( """SELECT * FROM {} WHERE {} = '%s'""".format(table, column)% constraint)
rows = cur.fetchall()
for row in rows:
    print(','.join([str(val) for val in row]))
此代码可能容易受到sql注入的攻击,因此执行以下命令将从数据库中删除指定的表,同时打印其建筑为blah的教室的详细信息

python3 query.py classroom building "blah'; DROP TABLE INSTRUCTOR; --'"
但由于cursor.execute一次只能执行一个命令,程序终止时会发出警告。
如何允许执行多个命令。还请注意,fetchall函数应返回相关数据。
我为什么要问这个问题?

这是一个任务的一部分,在这个任务中,我应该编写禁止注入和易受注入攻击的查询文件。

事实证明python sqlite完全不受删除相关攻击的攻击。

事实证明python sqlite完全不受删除相关攻击的攻击。

通常我们会告诉人们如何编写不易受SQL注入攻击的代码。由于许多人从这里抄袭代码而不读这个问题,我甚至会考虑回答它危险。请回答它。您可以在一段时间后删除它,通常我们会告诉人们如何编写不易受SQL注入攻击的代码。由于许多人从这里抄袭代码而不读这个问题,我甚至会考虑回答它危险。请回答它。你可以在一段时间后删除它