小编amc*_*ack的帖子

SQL区分大小写的字符串比较

如何比较字符串,以便只有在每个字符串的情况相同时才进行比较.例如:

Select * from a_table where attribute = 'k'
Run Code Online (Sandbox Code Playgroud)

...将返回属性为"K"的行.我不想要这种行为.

sql sql-server

207
推荐指数
5
解决办法
18万
查看次数

使用firebug打印整个程序的功能日志/堆栈跟踪

Firebug能够记录对特定函数名称的调用.我正在寻找一个有时会阻止页面呈现的错误,但不会导致任何错误或警告.这个bug只出现了大约一半的时间.那么如何获取整个程序的所有函数调用列表,或者执行整个程序的某种堆栈跟踪?

javascript firebug

90
推荐指数
3
解决办法
6万
查看次数

数据uri太大时"Aw,Snap"

我正在写一个chrome扩展,它执行以下操作:

  1. 使用将文件从网站下载到内存 XMLHttpRequest
  2. 向文件添加其他数据,然后base64将结果编码为变量 total_encoded_data
  3. 使用提供数据给用户<a href=data:application/octet-stream;charset=utf-8;base64,' + total_encoded_data+' download='file.bin'>Click to Download</a>.当total_encoded_data添加使用jQuery HREF.

我通过手动二进制搜索发现,如果大小total_encoded_data超过2097100个字符,那么当我点击链接时,我会收到一条Aw,Snap消息.如果尺寸较小,那么我可以按预期下载.

除了测试文件大小之外,我还用来atoi确保base64编码有效,并且它运行时没有错误.

Aw,Snap消息不会产生任何崩溃报告,chrome://crashes也不会产生任何意外输出chrome_debug.log

在提供base64编码的字符串长度大于2097100的数据uri时,如何避免Aw,Snap消息?

javascript google-chrome-extension data-uri

40
推荐指数
1
解决办法
1万
查看次数

如何使用BufferedWriter写入标准输出

我目前正在编写一个使用BufferedWriter生成多个日志文件的应用程序.但是,在调试时,我想写入System.out而不是文件.我想我可以改变:

log = new BufferedWriter(new FileWriter(tokenizerLog));
Run Code Online (Sandbox Code Playgroud)

至:

BufferedWriter log = new BufferedWriter(new OutputStreamWriter(System.out));
log.write("Log output\n");
Run Code Online (Sandbox Code Playgroud)

而不是:

System.out.println("log output")
Run Code Online (Sandbox Code Playgroud)

新的OutputStreamWriter选项虽然没有奏效.如何只更改BufferedWriter构造函数中的Object以从文件重定向到Standard out.因为我有几个日志文件,我将写入,使用System.out无处不在,并将输出更改为文件实际上不是一个选项.

java

25
推荐指数
1
解决办法
5万
查看次数

列出来自shell的APK中的所有活动

有没有办法从shell列出特定.apk文件的所有活动?我发现这篇文章描述了如何列出apk中的所有活动,但它不适用于shell.

android

25
推荐指数
2
解决办法
2万
查看次数

使用堆溢出来写入任意数据

我一直在努力学习堆溢出攻击的基础知识.我最感兴趣的是使用损坏或修改块元数据作为攻击的基础,但我也对其他建议持开放态度.我知道我的利用目标应该是用printf()函数指针覆盖challenge()函数指针,但我似乎无法弄清楚如何实现该写入.我有以下要利用的代码,它使用的mallocglibc 2.11.2:

void challenge()
{
        puts("you win\n");
}

int main(int argc, char **argv)
{
        char *inputA, *inputB, *inputC;

        inputA = malloc(32);
        inputB = malloc(32);
        inputC = malloc(32);

        strcpy(inputA, argv[1]);
        strcpy(inputB, argv[2]);
        strcpy(inputC, argv[3]);

        free(inputC);
        free(inputB);
        free(inputA);

        printf("execute challenge to win\n");
}
Run Code Online (Sandbox Code Playgroud)

显然,实现对分配的块的元数据的实际覆盖是微不足道的.但是,我还没有找到使用任何标准技术来利用此代码的方法.我已阅读并试图实施以下技术:

  • 论文:w00w00关于Heap Overflows
    • 尽管论文非常清楚,但该unlink技术已经过时了一段时间.
  • Malloc Maleficarum.txt
    • 本文扩展了w00w00天的漏洞利用技术,并解释了glibc的新版本.但是,我没有发现,鉴于本文详述的5种技术,上述代码与这些技术的任何先决条件相匹配.
  • 通过打破它来理解堆(pdf)
    • pdf非常好地回顾了堆的工作原理,但重点介绍了双重自由技术.

我最初试图通过操纵inputC的块的大小值来利用此代码,以便它指向inputC块的头部.当这不起作用时,我尝试进一步指向inputB的块.那时我意识到新的glibc会对大小值进行健全性检查.

如果用户能够将分配的块的元数据编辑为任意值,并使用它来覆盖GOT中的值或写入任何其他任意地址,那么用户如何利用免费利用漏洞利用?

注意:当我写"任意地址"据我所知,内存页面可能是只读或受保护的,我的意思是我可以假设我可以写一个地址.

c security heap exploit

22
推荐指数
1
解决办法
1万
查看次数

我可以对Java Enums使用按位OR

假设你有一个枚举方向

enum Direction{
    North,South,East West
}
Run Code Online (Sandbox Code Playgroud)

我可以编写一个使用按位或者比较多个枚举的方法

public boolean canGoDirection(Direction dir){
     return dir | Direction.North;
}
Run Code Online (Sandbox Code Playgroud)

我将上述方法称为

this.canGoDirection(Direction.South | Direction.North);
Run Code Online (Sandbox Code Playgroud)

java

17
推荐指数
2
解决办法
8680
查看次数

使用没有Flask的Flask-SQLAlchemy

我不得不使用内置一个小型的web服务Flask,并Flask-SQLAlchemy只持有一个模型.我现在想使用相同的数据库,但使用命令行应用程序,所以我想删除Flask依赖项.

我的模型看起来像这样:

class IPEntry(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    ip_address = db.Column(db.String(16), unique=True)
    first_seen = db.Column(db.DateTime(),
        default = datetime.datetime.utcnow
    )
    last_seen = db.Column(db.DateTime(),
        default = datetime.datetime.utcnow
    )

    @validates('ip')
    def validate_ip(self, key, ip):
        assert is_ip_addr(ip)
        return ip
Run Code Online (Sandbox Code Playgroud)

由于db将不再是引用flask.ext.sqlalchemy.SQLAlchemy(app),我如何将我的模型转换为仅使用SQLAlchemy.这两个应用程序(一个与Flask-SQLAlchemy另一个应用程序)有没有办法SQLAlchemy使用相同的数据库?

python sqlalchemy flask-sqlalchemy

13
推荐指数
3
解决办法
4806
查看次数

如何测试行是否在矩阵中?

我正在寻找一种方法来返回特定行驻留在矩阵中的索引.我可以保证每一行都是唯一的,以及矩阵中始终存在的行.我怎么能在matlab中做到这一点?
例如,假设您有一个矩阵c:

 c =

   1   2   3
   3   2   1
Run Code Online (Sandbox Code Playgroud)

此外,你有一个矩阵b:

b =

   1   2   3
Run Code Online (Sandbox Code Playgroud)

我想要一些func我可以打电话的功能

func(b,c)
    1
Run Code Online (Sandbox Code Playgroud)

甚至只是回归:

0
1
Run Code Online (Sandbox Code Playgroud)

matlab octave

10
推荐指数
1
解决办法
8559
查看次数

创建两个路径之间的相对路径

可能重复:
如何从绝对路径获取相对路径

我目前正在使用它FolderBrowserDialog来返回绝对路径.我想改为获取相对于当前正在执行的目录的相对路径.鉴于FolderBrowserDialog只返回绝对路径,有没有办法将其转换为相对路径?

.net c#

10
推荐指数
1
解决办法
2万
查看次数