我需要进入 Metasploit 漏洞利用目录才能下载某人编写的新漏洞利用程序,因此我需要找到metasploit-framework/modules/exploits目录。
我试图查看该文件夹是否至少存在,所以我输入:
ls /usr/share/metasploit-framework/modules/
Run Code Online (Sandbox Code Playgroud)
但我收到No such directory错误,因为/usr/share中没有metasploit-framework目录。
你可能认为我没有正确安装msf,但我使用了从github msf存储库安装的官方方法。我也认为这是安装错误,直到我尝试查看/opt/metasploit-framework文件夹,并且似乎所有文件都正常。这绝对是我的错,因为我在 Ubuntu 和 Debian 服务器上得到了相同的结果,但我不明白我做错了什么。
ls /opt/metasploit-framework
Run Code Online (Sandbox Code Playgroud)
我从 useragent“stagefright”收到以下请求,要求访问 Web 文件夹中的一些 mp3 文件,IP 恰好是唯一的,但文件名总是重复的(正在请求大约 15 个文件),而且这些大多来自较旧的 Android 版本设备,但现在我也注意到了 Android 10。
我已经使用 .htaccess 阻止了对用户代理“stagefright”的访问,但是当它引起我的注意时,它已经消耗了大量的带宽,我并没有被它困扰,因为它返回 403 但有人可以对这些类型进行一些说明吗请求数?这种情况已经持续了一年多,并且仅针对 MP3 文件请求。
此外,在一秒钟内会出现多次对同一文件的突发请求。请参阅下面的日志摘录。
84.65.126.81 - - [23/Apr/2020:15:53:37 +0400] "GET /xxx.mp3 HTTP/1.1" 403 221 "-" "stagefright/1.2 (Linux;Android 10)"
47.184.9.3 - - [23/Apr/2020:15:53:37 +0400] "GET /xxx.mp3 HTTP/1.1" 403 227 "-" "stagefright/1.2 (Linux;Android 8.1.0)"
73.90.23.108 - - [23/Apr/2020:15:53:37 +0400] "GET /SS007.mp3 HTTP/1.1" 403 227 "-" "Samsung SM-T350 stagefright/Beyonce/1.1.9 (Linux;Android 7.1.1)"
47.184.9.3 - - [23/Apr/2020:15:53:37 +0400] "GET /SS043.mp3 HTTP/1.1" 403 227 "-" "stagefright/1.2 (Linux;Android 8.1.0)"
84.65.126.81 …Run Code Online (Sandbox Code Playgroud) 我需要编写一个安全的程序,防止它在Delphi中被利用.我需要启用所有保护和机制,但我不明白这样做.
保护示例:
以及如何在EMET下运行我的程序并获得绿色标记?
感谢您的回复并与我分享您的信息.
我可以获取受保护字段的值,但私有字段会抛出java.lang.IllegalAccessException.我想我知道为什么我会得到这个例外,但是如何使用反射来利用私有字段的内容,我该如何解决这个问题呢?
程序员帽是在
我已经在netbeans项目中创建了以下弱势类.我已经制作了一个Jar文件来分发它.
public class Vulnerable {
private int privateSecret;
protected int protectedSecret;
int secret;
public Vulnerable() {
this.protectedSecret = 11;
this.privateSecret = 22;
this.secret = 33;
}
}
Run Code Online (Sandbox Code Playgroud)
恶意黑客帽子现在开启
我想知道私人隐藏的领域,我想知道它们包含什么.
我有Jar文件,我已将其导入我的Exploit项目.
以下类扩展了Vulnerable并使用反射列出字段并尝试访问这些值.
public class ExpliotSubClass extends VulnerableCode.Vulnerable {
public List<Field> protectedList = new LinkedList<Field>();
public List<Field> privateList = new LinkedList<Field>();
public void lists() {
Field[] declaredFields = this.getClass().getSuperclass().getDeclaredFields();
for (Field field : declaredFields) {
int modifiers = field.getModifiers();
if (Modifier.isPrivate(modifiers)) {
privateList.add(field);
System.out.println("Private = " + field.getName()); …Run Code Online (Sandbox Code Playgroud) 我正在编写一些ROP漏洞利用代码,通过系统调用调用mprotect,调用int 0x80后eax设置为0x0表示成功.将执行转移到目标地址仍会产生SIGSEGV.我希望有人能告诉我哪里出错了.
一些细节,目标地址是.data部分,这是我将通过shellcode编写的地方:
[20] 0x8146820->0x814c2b8 at 0x000fd820: .data ALLOC LOAD DATA HAS_CONTENTS
我设置eax到125,ebx页面边界0x8146000,ecx以0x1000(4096页大小),并edx以0x7(RWX).
就在系统调用之前,寄存器看起来像这样:
eax 0x7d 125
ecx 0x1000 4096
edx 0x7 7
ebx 0x8146000 135553024
esp 0xbffff2b0 0xbffff2b0
ebp 0x8d0e0f0 0x8d0e0f0
esi 0x804fb85 134544261
edi 0x43434343 1128481603
eip 0x80c0182 0x80c0182 <mprotect+18>
eflags 0x202 [ IF ]
cs 0x73 115
ss 0x7b 123
ds 0x7b 123
es 0x7b 123
fs 0x0 0
gs 0x33 …Run Code Online (Sandbox Code Playgroud) 我Program received signal SIGSEGV试图覆盖调用指令的地址时遇到错误.
我将调用参数的地址(地址0x8048579)存储在eax中,将新值存储在edx(0xb7fb773a)中.根据我的理解说明mov %edx,(%eax)应该这样做,但它失败了.
我做错了什么?
这是我大学任务的一部分,所以没有真正的系统受到伤害:-)
码:
0x08048566 <+35>: mov -0x8(%ebp),%edx
0x08048569 <+38>: mov -0x4(%ebp),%eax
=> 0x0804856c <+41>: mov %edx,(%eax) // Fails here.
0x0804856e <+43>: movl $0x0,(%esp)
0x08048575 <+50>: call 0x8048370 <_exit@plt>
Run Code Online (Sandbox Code Playgroud)
寄存器:
eax 0x8048579 134514041
edx 0xb7fb773a -1208256710
Run Code Online (Sandbox Code Playgroud)
失败:
Program received signal SIGSEGV, Segmentation fault.
0x0804856c in foo (argv=0x58575655) at my_code.c:34
Run Code Online (Sandbox Code Playgroud)
//更新1:CPU信息:
Architecture: i686
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 1
On-line CPU(s) list: 0
Thread(s) per core: 1
Core(s) …Run Code Online (Sandbox Code Playgroud) 有人可以解释一下为什么连续两次释放导致崩溃,但释放第一个,然后是b,然后再次不会崩溃?
我知道free会将堆块插入双链接空闲列表中.释放两次会在空闲列表中两次插入相同的块.但为什么崩溃发生?
int *a = malloc(8);
int *b = malloc(8);
free(a);
// free(a); //Would crash!
free(b);
free(a); //No crash
Run Code Online (Sandbox Code Playgroud) 我有一个shellcode.它在我的缓冲区溢出程序中打开计算器.
0: eb 16 jmp 0x18
2: 5b pop ebx
3: 31 c0 xor eax,eax
5: 50 push eax
6: 53 push ebx
7: bb 4d 11 86 7c mov ebx,0x7c86114d
c: ff d3 call ebx
e: 31 c0 xor eax,eax
10: 50 push eax
11: bb ea cd 81 7c mov ebx,0x7c81cdea
16: ff d3 call ebx
18: e8 e5 ff ff ff call 0x2
1d: 63 61 6c arpl WORD PTR [ecx+0x6c],sp
20: 63 2e arpl WORD PTR …Run Code Online (Sandbox Code Playgroud) 我想利用这个preg_replace调用:
$str = preg_replace($pattern, '__', $str);
Run Code Online (Sandbox Code Playgroud)
我可以控制$ str和$ pattern变量,但我不确定这是否足以注入任意PHP代码.有些想法?:)