我正在使用greasemonkey 将脚本注入到浏览器中加载的每个页面中。我现在面临的问题是,如果浏览器从同一域中的一个页面移动到另一个页面,greasemonkey 不会再次注入我的脚本。例如,我在 google.com,因此当我的浏览器加载此页面时,我的脚本就会被注入。现在,假设我输入一些搜索字符串并单击搜索。浏览器将我带到主网址为 google.com 的另一个页面。在这里,我的脚本没有被注入。
我该如何解决这样的问题。
任何帮助/意见将不胜感激。
嗨,大家好问我的问题.一个GWT项目,因为我读过Gin我只能在客户端使用,而不是Guice可以在服务器端使用.这是我的问题.
我们先发布一些示例代码.
服务器端.
public class WebchargeServiceImpl extends RemoteServiceServlet implements WebchargeService
{
@Inject
private Injector injector;
@Inject
private ExecuteOperations executeOperations;
.....
executeOperations.do(); ....
Run Code Online (Sandbox Code Playgroud)
这是注入的类ExecuteOperations
@Singleton
public class ExecuteOperations
{
.........
}
Run Code Online (Sandbox Code Playgroud)
我也有servlet模块类
public class SampleWebGuiceServletConfig extends GuiceServletContextListener
{
@Override
protected Injector getInjector()
{
return Guice.createInjector(Stage.DEVELOPMENT, new SampleWebModule());
}
} // class
Run Code Online (Sandbox Code Playgroud)
.....
public class SampleWebModule extends ServletModule
{
@Override
protected void configureServlets()
{
bind(WebchargeServiceImpl.class); //is it correct to bind a class like that?
} // class
Run Code Online (Sandbox Code Playgroud)
web.xml中
<servlet>
<servlet-name>.......WebchargeService</servlet-name>
<servlet-class>.....WebchargeServiceImpl</servlet-class>
</servlet> …Run Code Online (Sandbox Code Playgroud) 我看到了几个例子,人们用这种方式在登录表单中查询数据库.我不完全确定这是安全登录表单的最佳方式.
这是PHP中的查询:
$query = "SELECT * FROM users WHERE usern = '".$_POST['username']."' AND passw = '".md5($_POST['password'])."'";
Run Code Online (Sandbox Code Playgroud)
是否在密码帖子上有md5()以避免sql注入?我认为md5函数会将所有字符和sql字符串转换为32个char字符串.
我可以通过哪些其他方式保护登录表单?
关于在我的应用程序中防止SQL注入,我有一个简单的问题.
我的Web应用程序的两个不同功能使用文本框,用户可以使用这些文本框从MSSQL数据库中搜索项目.此信息显示在GridView中.
我使用此方法创建查询:
sqldatasource.SelectCommand = "SELECT x from x where this_id LIKE '%" + txtbox.Text + "%' ORDER BY x ASC";
Run Code Online (Sandbox Code Playgroud)
显然,接受用户输入并将其直接输入到这样的查询中将打开它以进行基本的SQL注入.请问有人可以解释我如何参数化以防止我的应用程序中的SQL注入?
提前致谢
我正在研究一个可能被sql注入的项目(一个用户报告了它).
以下是登录脚本的一部分:
$loginemail = $_POST['loginemail'];
$loginemail_sql = mysql_real_escape_string($loginemail);
$password = $_POST['loginpass'];
$password_sql = mysql_real_escape_string($password);
//get user data
$q = 'SELECT uid, full_name, score, status FROM users WHERE email="'.$loginemail.'" AND password="'.$password_sql.'" LIMIT 1';
Run Code Online (Sandbox Code Playgroud)
我想现在,如果这是可以注入的代码的一部分?是否存在$ loginemail和$ password被错误处理并且可能包含一些dangerouse"SQL部分"的问题?
有没有办法连接两个字符串并注入一个字符.我有 :
NSString *firstString = @"http://www.stackoverflow.com";
NSString *secondString = @"supercooloptions";
NSString *result = [firstString stringByAppendingString: secondString];
NSLog(@"the final string with "/" injection = %@", result);
Run Code Online (Sandbox Code Playgroud)
我希望注入"/"的最终字符串= www.stackoverflow.com/supercooloptions
我试图从我的 32 位进程中将一个存根注入 64 位 Windows 进程,然后在 x64 进程中远程启动一个线程。这导致了一些问题,因为 winapi 的CreateRemoteThread抛出错误代码 5,它转换为ERROR_ACCESS_DENIED,无论我在调用OpenProcess时使用哪个标志。我读到这是因为 Windows 不允许“跨平台”注入,但我认为这不是问题,因为代码注入得很好。
我GetLastError()在调用后立即使用CreateRemoteThread(),它显示错误代码 5。
我将这组标志用于OpenProcess,但没有成功:
PROCESS_CREATE_THREAD | PROCESS_VM_OPERATION | PROCESS_VM_READ | PROCESS_VM_WRITE
Run Code Online (Sandbox Code Playgroud)
以及只是PROCESS_ALL_ACCESS.
任何人都知道可能导致此错误的原因是什么?
我写了一个webhook来集成到chat(slack/mattermost api)中.
启动和运行的最简单方法是一个快速的PHP脚本,如下所示:
<?php
$token = $_POST["token"];
$arg = $_POST["text"];
$output = exec("./webhook_script.sh {$token} {$arg}");
Run Code Online (Sandbox Code Playgroud)
目前,脚本工作正常,但我担心有人可以恶意地执行http POST,其中查询参数text(脚本:) $arg具有某种注入攻击.
例: http://myserver/webhook.php?token=abc&text=123;rm -rf *
因此$arg变得123; rm -rf和exec命令执行恶意rm -rf *
这与我熟悉的"sql注入"本质上类似,但我不确定如何使bash脚本安全...
是以某种方式引用参数,或者使用a regex来检查脚本参数是一件简单的事情吗?
为什么我不能在mysqli_escape_string没有数据库连接的情况下使用该功能?
我知道大多数人会对此皱眉头但在我知道PDO语句和转义字符串之前我不确定我应该如何阻止mysql注入.
我创建了一个函数,它接受文本并通过过滤器运行它.我想知道它是否真的会阻止sql注入或者它们是否可以绕过它?我当时的目标是允许用户输入文本并能够在输入时完全显示文本.
除此之外,我还要小心确保用户对数据库的权限不再需要.我是否使用他们的输入来更新或插入新行等.但鉴于我没有,它仍然可以工作?:
function filterInput($textToFilter)
{
if ($textToFilter != null)
{
//a = a
//e = e
//i = i
//o = o
//u = u
//A = A
//E = E
//I = I
//O = O
//U = U
$textToFilter = str_ireplace('insert','insert',$textToFilter);
$textToFilter = str_ireplace('select','select',$textToFilter);
$textToFilter = str_ireplace('values','values',$textToFilter);
$textToFilter = str_ireplace('where','where',$textToFilter);
$textToFilter = str_ireplace('order','order',$textToFilter);
$textToFilter = str_ireplace('into','into',$textToFilter);
$textToFilter = str_ireplace('drop','drop',$textToFilter);
$textToFilter = str_ireplace('delete','delete',$textToFilter);
$textToFilter = str_ireplace('update','update',$textToFilter);
$textToFilter = str_ireplace('set','set',$textToFilter);
$textToFilter = str_ireplace('flush','flush',$textToFilter);
$textToFilter = str_ireplace("'","'",$textToFilter);
$textToFilter = str_ireplace('"',""",$textToFilter); …Run Code Online (Sandbox Code Playgroud) code-injection ×10
php ×5
mysql ×3
sql ×3
asp.net ×1
bash ×1
c# ×1
c++ ×1
greasemonkey ×1
guice ×1
gwt ×1
gwt-gin ×1
http-post ×1
java ×1
javascript ×1
login ×1
objective-c ×1
sql-server ×1
webhooks ×1
winapi ×1
windows ×1