我制作了一个易受SQLi攻击的网站。但是,当我使用SQLi '--运行GET请求时,会得到错误的查询输出。有人能帮我吗?
这是我的SQLi
这是SQL运行查询的方式。
SQL查询应该不同。它应该是:SELECT * FROM product WHERE id LIKE '%',它应该输出product表中的所有数据。
代码段
我在Youtube上学习SQL注入,然后用python编写脚本,使用kali linux作为虚拟机,遇到代理错误,除了堆栈溢出之外,我不知道应该搜索什么,没有任何有益的答案。下面是我的python代码:
import requests
import sys
import urllib3
from bs4 import BeautifulSoup
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
# the purpose of proxy is to proxy to myself in order to
如果我只使用plpgsql函数来验证标识符和值,而不是执行查询,那么我的查询不会受到SQL注入的影响。
下面是示例函数:
CREATE OR REPLACE FUNCTION validate_identifier(identi TEXT)
RETURNS TEXT AS
$func$
BEGIN
RETURN quote_ident(identi);
END;
$func$ LANGUAGE plpgsql;
CREATE OR REPLACE FUNCTION validate_value(val TEXT)
RETURNS TEXT AS
$func$
BEGIN
R
场景:
易受攻击的登录表单。我说“易受攻击”是因为如果我输入+select(sleep(0))+,服务器响应通常是正常的。如果我输入+select(sleep(5))+,服务器等待超过5“的一段时间,然后使用"connection failed"进行响应。这是否被认为是SQL注入的证据?
我可以利用响应中的这种差异从db?
中有条件地提取数据吗?
高层的想法是:
if user(1,1) is 'a' then sleep(0) else sleep(1)
我正在编写一个小型perl工具,它可以帮助我在SQL注入攻击中加速一些进程(这是一个合乎道德的工具)。这是我的工作)。
我的脚本管理请求,已经用十六进制值编码了url (%xx)。因此,当我使用HTTP::Request将请求发送到web浏览器时,我的请求会被编码两次。
我使用这种代码:
my $ua = LWP::UserAgent->new;
my $httpreq = new HTTP::Request GET => 'http://192.168.0.1/lab/sqli.php?id=1%20and%20(select%20ascii(substring(user
我习惯于使用PHP和准备好的语句,现在当我查看rails的下面一段代码时(因为我是rails的新手,不确定语法和其他方面),我想知道代码是否倾向于SQLI注入
代码段(控制器),param Q是搜索框中的值:
def index
query = %w(% %).join params[:q].to_s.gsub('%', '\\%').gsub('_', '\\_')
@posts = Post.where("name LIKE ? OR body LIKE ?", query, query).or
我正在做一个SQLi测试。下面是原始语句。
insert into users(name,pass) values('bob', [injection point here])
该声明被严重过滤,因为提供测试的网站不希望有人破坏整个数据库。我找不到任何方法来完成这一项,所以我搜索一个提示在论坛上的测验。从搜索结果中我知道,完成这个测试的唯一方法是,某人必须取消整个原始查询。这意味着"bob“值也必须作废。
正如我所知道的,我不能在注入点之前影响查询。有人有主意吗?
我试图侵入一个虚拟的MariaDB数据库,该数据库易受SQLI的攻击,并且存储有关用户及其密码的敏感数据。我已经收集了我能收集到的所有数据,但是现在我应该如何连接到这个数据库并篡改它呢?我下载了MySQL (MariaDB),并试图通过使用Bash来连接到它:
mysql -h hostIPaddress -u username -D dbname -p
但我只得到了ERROR 2002 (HY000): Can't connect to MySQL server on hostIPaddress。正确的程序是什么?
所以,我只是在一些经典的ASP代码以及一些PHP中同时发现了一些超级令人不安的代码。
经典ASP:
Dim id
id = request.form("id")
Session(id) = id
PHP
$_SESSION[$_GET["id"]] = $_GET["id"];
那么,这里会出什么问题呢?请注意,显然我将删除这些,并使用更好的工作流程。
编辑:明显的问题可能是SQLi,XSS,覆盖现有的和必要的会话变量。不过,我并不真正了解这些语言如何处理会话变量的内部工作原理。
编辑2:我真正关心的不是session变量的值,而是如何命名它们