Project现在在github上,这是我的问题的链接
我成功地编译了整个事情并且能够分别运行拒绝者和拒绝者.但是,当向目标进程注入代码时,注入器将使注入器崩溃.
mach_inject_test_injectee.app 's standard output:
mach error on bundle load (os/kern) successful
mach error on bundle load (os/kern) successful
mach error on bundle load (os/kern) successful
mach error on bundle load (os/kern) successful
mach error on bundle load (os/kern) successful
FS rep /Users/Malic/Documents/Code/c/mach_star/mach_inject_test/build/Development/mach_inject_test_injector.app/Contents/Resources/mach_inject_test_injected.bundle/Contents/MacOS/mach_inject_test_injected
LOADDDDDDDDDD!
Assertion failed: (0), function +[injected_PrincipalClass load], file /Users/Malic/Documents/Code/c/mach_star/mach_inject_test/injected-PrincipalClass.m, line 25.
Abort trap
Run Code Online (Sandbox Code Playgroud)
mach_inject_test_injector的标准输出
injecting into pid 3680
injecting pid
mach_inject failing.. (os/kern) successful
mach inject done? 0
hi
Run Code Online (Sandbox Code Playgroud)
从输出看来,注射器没有通知注射器,任何想法?谢谢.
我有一个PHP网站,人们可以在那里填写帮助票.它允许他们上传票证的屏幕截图.我允许上传gif,psd,bmp,jpg,png,tif.收到上载后,PHP脚本将忽略文件扩展名.它仅使用MIME信息标识文件类型,对于这些文件类型,它始终存储在文件的前12个字节中.
有人上传了几个GIF,当用浏览器查看时,浏览器说它无效,我的病毒扫描程序提醒我这是注射(或类似的东西).请参阅下面的包含这些GIF的zip文件.
我认为只检查标题信息是不够的.我听说图像可以完全有效,但也包含漏洞利用代码.
所以我有两个基本问题:
更新:大家,谢谢你的答复到目前为止.我试图在服务器上查找上传的GIF.如果我找到它们,我会更新这篇文章.
更新2:我为任何感兴趣的人找到了GIF.我把它们放在一个用密码"123"加密的zip文件中.它位于这里(小心这个主机网站上有多个"下载"按钮 - 其中一些是广告)http://www.filedropper.com/badgifs.名为5060.gif的版本被我的防病毒软件标记为特洛伊木马(TR/Graftor.Q.2).我应该注意这些文件是在我实现前12个字节的MIME检查之前上传的.所以现在,我对这些特殊的安全.但我仍然想知道如何检测隐藏在正确MIME类型后面的漏洞.
重要说明: 我只关心下载这些文件以查看它们的PC的风险. 这些文件对我的服务器没有风险.它们不会被执行.它们使用扩展名为".enc"的干净名称(十六进制散列输出)进行存储,然后使用fwrite过滤器将它们以加密状态保存到磁盘:
// Generate random key to encrypt this file.
$AsciiKey = '';
for($i = 0; $i < 20; $i++)
$AsciiKey .= chr(mt_rand(1, 255));
// The proper key size for the encryption mode we're using is 256-bits (32-bytes).
// That's what "mcrypt_get_key_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC)" says.
// So we'll hash our key using SHA-256 and pass TRUE to the 2nd …Run Code Online (Sandbox Code Playgroud) 我正在读初春(威利出版社)的书.在第2章中有一个关于Java配置的例子@Autowired.它提供了这个@Configuration类
@Configuration
public class Ch2BeanConfiguration {
@Bean
public AccountService accountService() {
AccountServiceImpl bean = new AccountServiceImpl();
return bean;
}
@Bean
public AccountDao accountDao() {
AccountDaoInMemoryImpl bean = new AccountDaoInMemoryImpl();
//depedencies of accountDao bean will be injected here...
return bean;
}
@Bean
public AccountDao accountDaoJdbc() {
AccountDaoJdbcImpl bean = new AccountDaoJdbcImpl();
return bean;
}
}
Run Code Online (Sandbox Code Playgroud)
和这个普通的bean类
public class AccountServiceImpl implements AccountService {
@Autowired
private AccountDao accountDao;
public void setAccountDao(AccountDao accountDao) {
this.accountDao = accountDao;
}
...
} …Run Code Online (Sandbox Code Playgroud) 我正在开发一个项目,在我无法控制的网页上注入JS + CSS + HTML.
我担心主机页面样式化我注入的代码 - 我希望我注入的代码只服从我的样式,而不是他们的样式.
目前我唯一能做到这一点的方法就是要明确指定容器<div>类的每个可能的标签(使用预定义的,已知的浏览器默认值),并依靠继承将这些规则传播到我的其余部分.注入HTML.这个CSS需要出现在页面<head>标签的底部.
我不认为这是最好的解决方案,我不期待实施它.当然有更好的方法.
我是Autofac(3)的新手,并且正在使用它在几个实现IRecognizer的程序集中查找许多类.
所以我有:
builder.RegisterAssemblyTypes(AppDomain.CurrentDomain.GetAssemblies()).As<IRecognizer>();
Run Code Online (Sandbox Code Playgroud)
这很好.
但是我想将找到的组件的引用注入到构造函数中 - 有点像:
public Detector(List<IRecognizer> recognizers)
{
this.Recognizers = recognizers;
}
Run Code Online (Sandbox Code Playgroud)
有没有办法做到这一点?
我想在我的网站上添加一项功能,让用户搜索文本RegEx.但是,让用户做这样的事情是否安全?
preg_match('/' . $user_input_regex . '/', $subject);
Run Code Online (Sandbox Code Playgroud) 有很多关于addslashes和mysql_real_escape函数如何防止注入安全的讨论.事实上,即使像Wordpress这样的大型框架或CMS正在使用这些功能,他们到目前为止还做了一项神工作.
我知道在使用GBK字符集时有一些特殊情况,或者可以使用utf8_decode来注入一些sql代码,或者1' OR 1 --在有简单涉及的地方时可以使用这样的一些简单示例.
然而,经过一些研究后,如果charset是UTF-8并且让我们承认,使用addslashes或mysql_real_escape这样的简单查询就很难注入,这是最常见的情况.
所以,鉴于这个新手脚本,请提供一个sql注入POC(记住UTF-8 charset)
$mysql['username'] = addslashes($_POST['username']);
$mysql['password'] = addslashes($_POST['password']);
$sql = "SELECT *
FROM users
WHERE username = '{$mysql['username']}'
AND password = '{$mysql['password']}'";
Run Code Online (Sandbox Code Playgroud)
更新 - 我只需要一个简单的例子,而不是完整的流程披露.即使谷歌的链接可能会工作.
AFAIK在使用用户数据时,电子邮件的HEADERS中只有一个漏洞吗?
我使用下面的函数来清理我的数据,但是我在页面上有一些textarea字段,因此这些字段可能包含换行符..所以想知道这个用户数据是否只会放在电子邮件的正文中,可以吗没有被消毒的麻烦 - 除了剥离HTML当然?
这是功能:
function is_injected($str) {
$injections = array('(\n+)',
'(\r+)',
'(\t+)',
'(%0A+)',
'(%0D+)',
'(%08+)',
'(%09+)'
);
$inject = join('|', $injections);
$inject = "/$inject/i";
if (preg_match($inject,$str)) {
return true;
} else {
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
作为旁注,令人惊讶的是目前没有邮件注入/电子邮件注入的标签.
我有用于编辑图像的HTML表单.所有数据都存储在JSON中.当我更改当前图像时,我想通过PHP脚本将更改保存到文本文件中.如果我返回上一张图像,此配置将再次从此文件发送到表单.
我的问题是:
如何安全地写/读这种数据.在何处以及如何有效地检查数据以防止某些JS/PHP代码注入?
我在下面附上了一些概念代码:
JavaScript(使用jQuery):
// Writing
$.ajax({
global: false,
type: "POST",
cache: false,
dataType: "json",
data: ({
action: 'write',
config: JavaScriptJSON_Obj
}),
url: 'read-write.php'
});
// Reading
$.ajax({
global: false,
type: "POST",
cache: false,
dataType: "json",
data: ({
action: 'read'
}),
url: 'read-write.php',
success: function(data){
JavaScriptJSON_Obj = data;
}
});
Run Code Online (Sandbox Code Playgroud)
PHP示例(read-write.php):
switch ($_REQUEST['action']) {
case 'write':
file_put_contents('config.txt', $_REQUEST['config']);
break;
case 'read':
$s = file_get_contents('config.txt');
echo json_encode($s);
break;
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用Linux故障注入框架来注入页面分配错误.我正在尝试使用failcmd.shLinux内核提供的脚本tools/testing/fault-injection/.
设置变量FAILCMD_TYPE后fail_page_alloc,我正在运行以下命令:
./failcmd.sh --times=-1 --interval=1 --verbose=2 <program_to_be_run_with_fi>.
Run Code Online (Sandbox Code Playgroud)
我尝试过的所有程序运行良好,虽然我将详细设置为2,但我没有得到任何调试信息.我在Ubuntu 12.04.1上使用内核3.2.0-32.
有没有人有Linux的故障注入经验?
code-injection ×10
php ×5
security ×2
autofac ×1
autowired ×1
c#-4.0 ×1
collections ×1
css ×1
debugging ×1
fault ×1
file ×1
gd ×1
hook ×1
html ×1
java ×1
javascript ×1
json ×1
linux ×1
linux-kernel ×1
macos ×1
preg-match ×1
regex ×1
spring ×1
sql ×1
user-input ×1