Python中文
首页
教程
问答
标签
搜索
登录
注册
如何使INSERT上的SQL注入在SQLite上工作
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我不知道如何使SQL注入在SQLite中工作。我正在使用Python中的一个函数,该函数连接到数据库并插入字符串</p> <p>我有“database.db”,它有两个表:“feedback”和“users”。<br/> 反馈表有一列:消息。<br/> 用户表有两列:用户名和密码</p> <pre><code>def send_feedback(feedback): conn = sqlite3.connect("database.db") curs = conn.cursor() curs.execute("INSERT INTO feedback VALUES ('%s')" % (feedback)) print(curs.fetchall()) conn.close() </code></pre> <p>我知道execute函数允许我对数据库进行单个查询,因此我不能使用“;”来 进行多个查询</p> <p>我尝试的是让字符串看起来像这样:</p> <pre><code>a') SELECT password FROM users -- feedback = "INSERT INTO feedback VALUES ('a') SELECT password FROM users --')" </code></pre> <p>但这给了我以下错误:</p> <blockquote> <p>sqlite3.OperationalError: near "SELECT": syntax error</p> </blockquote> <p>所以我尝试使用UNION命令:</p> <pre><code>a') UNION SELECT password FROM users -- feedback = "INSERT INTO feedback VALUES ('a') UNION SELECT password FROM users --')" </code></pre> <p>这个函数可以工作,但是fetchall函数返回一个空列表</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>您可以这样做,例如获取表名</p> <pre class="lang-sql prettyprint-override"><code>a' || (SELECT tbl_name FROM sqlite_master WHERE type='table' and tbl_name NOT like 'sqlite_%')) - </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
我是否正确构建了这个递归神经网络
2 回答
我是否正确理解acquire和realease是如何在python库“线程化”中工作的
2 回答
我是否正确理解Keras中的批次大小?
6 回答
我是否正确理解PyTorch的加法和乘法?
8 回答
我是否正确组织了我的Django应用程序?
6 回答
我是否正确计算执行时间?如果是这样,那么并行处理将花费更长的时间。这看起来很奇怪
7 回答
我是否每次创建新项目时都必须在PyCharm中安装numpy?(安装而不是导入)
5 回答
我是否每次运行jupyter笔记本时都必须重新启动内核?
9 回答
我是否用python安装了socks模块?
1 回答
我是否真的需要知道超过一种语言,如果我想要制作网页应用程序?
7 回答
我是否缺少spaCy柠檬化中的预处理功能?
10 回答
我是否缺少给定状态下操作的检查?
10 回答
我是否能够使用函数“count()”来查找密码中大写字母的数量((Python)
8 回答
我是否能够使用用户输入作为colorama模块中的颜色?
4 回答
我是否能够创建一个能够添加新Django.contrib.auth公司没有登录到管理面板的用户?
6 回答
我是否能够将来自多个不同网站的数据合并到一个csv文件中?
4 回答
我是否能够将目录路径转换为可以输入python hdf5数据表的内容?
10 回答
我是否能够等到一个对象被销毁,直到它创建另一个对象,然后在循环中运行time.sleep()
10 回答
我是否能够通过CBV创建用户实例,而不是首先创建表单?(Django)
9 回答
我是否要使它成为递归函数?
9 回答