小编yoo*_*oon的帖子

缓冲区溢出攻击和 ROP 攻击有什么区别?

我开始研究软件安全性,但我很难理解缓冲区溢出攻击和 ROP 攻击是什么。

据我了解,

缓冲区溢出攻击:

当缓冲区达到一定大小时,填充缓冲区并添加额外的代码,以便攻击者可以执行代码中的另一个函数或他/她自己的shellcode。

ROP攻击:

给出某个可以覆盖返回地址的输入,以便攻击者可以控制流量。

但两者之间的确切区别是什么?

我觉得两者都只是给出了过多的输入来覆盖不应该接近的区域。

例如,如果我有一个代码

  1 #include <stdio.h>
  2 
  3 void check(){
  4     printf("overflow occurs!\n");
  5 }
  6 
  7 int main(int argc, char* argv[]){
  8     char buffer[256];
  9     gets(buffer);
 10     printf("%s\n", buffer);
 11     return 0;
 12 }
Run Code Online (Sandbox Code Playgroud)

并尝试check()通过向函数提供特定输入来执行该函数gets()

这是 ROP 攻击还是缓冲区溢出攻击?

security assembly exploit buffer-overflow

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

什么可能导致“dh key 太小”错误?

我编写了一个使用 openssl 的程序,并对其进行了 dockerized。

但是当我用 python:3.7 基本图像尝试它时,出现了以下错误:

[SSL: DH_KEY_TOO_SMALL] dh 密钥太小 (_ssl.c:1108)

我设法通过降低/etc/ssl/openssl.cnf文件中的安全级别来解决这个问题。

echo "CipherString=DEFAULT@SECLEVEL=1" >> /etc/ssl/openssl.cnf

但是这个错误到底是什么意思?

这是一个服务器端问题,我无法在我的代码中处理吗?

我只是觉得通过降低安全级别来解决问题不太舒服。

更改该安全级别时应该考虑什么?

谢谢 :)

ssl openssl

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

如何在 docker 容器中使用 cron 运行 python 代码?

当使用CMD ["python3", "./mycode.py"].

现在,我想要的是每分钟运行该 python 代码。

之前的 Dockerfile(只需运行一次):

FROM python:3.7
RUN apt-get update && \
        apt-get install cron -y
RUN pip3 install requests
RUN head -n -1 /etc/ssl/openssl.cnf > /etc/ssl/temp && \
       mv /etc/ssl/temp /etc/ssl/openssl.cnf
RUN echo "CipherString=DEFAULT@SECLEVEL=1" >> /etc/ssl/openssl.cnf

COPY . /app
WORKDIR /app
CMD ["python3", "./mycode.py"]
Run Code Online (Sandbox Code Playgroud)

之后的 Dockerfile(使用 crontab 每分钟运行一次):

FROM python:3.7
RUN apt-get update && \
        apt-get install cron -y
RUN pip3 install requests
RUN head -n -1 /etc/ssl/openssl.cnf > /etc/ssl/temp && \
       mv /etc/ssl/temp …
Run Code Online (Sandbox Code Playgroud)

cron docker

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

[Django] [AWS S3] botocore.exceptions.clienterror调用PutObject操作时发生错误(拒绝访问)

我正在尝试将Django项目连接到AWS S3。

settings.py包含以下内容:

AWS_ACCESS_KEY_ID = #ID
AWS_SECRET_ACCESS_KEY = #Key
AWS_STORAGE_BUCKET_NAME = #Bucket
AWS_S3_CUSTOM_DOMAIN = '%s.s3.amazonaws.com' % AWS_STORAGE_BUCKET_NAME
AWS_S3_OBJECT_PARAMETERS = {
    'CacheControl': 'max-age=86400',
}
AWS_LOCATION = 'static'

STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'backend/static'),
]
STATIC_URL = 'https://%s/%s/' % (AWS_S3_CUSTOM_DOMAIN, AWS_LOCATION)
STATICFILES_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'
Run Code Online (Sandbox Code Playgroud)

使用AmazonS3FullAccess创建IAM用户。 但是当我输入:

python manage.py collectstatic
Run Code Online (Sandbox Code Playgroud)

发生错误:

您已请求按照设置中的指定在目标位置收集静态文件。

这将覆盖现有文件!你确定你要这么做吗?

键入“是”以继续,或键入“否”以取消:是回溯(最近一次调用最后一次):在execute_from_command_line(sys.argv)中的文件“ manage.py”,第22行,文件“ / home / seokchan / server / mdocker” /lib/python3.5/site-packages/django/core/management/ init .py“,第381行,位于execute_from_command_line utility.execute()文件“ /home/seokchan/server/mdocker/lib/python3.5/site”中-packages / django / core / management / init“ .py”,行375,在执行self.fetch_command(subcommand).run_from_argv(self.argv)文件“ /home/seokchan/server/mdocker/lib/python3.5/site-packages/django/core/management/base”中.py“,第316行,位于run_from_argv self.execute(* args,** cmd_options)文件” /home/seokchan/server/mdocker/lib/python3.5/site-packages/django/core/management/base.py “,第353行,在执行输出= …

django amazon-s3 boto amazon-web-services

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

有什么区别:Django,Apache,AWS

我正在研究Web,并对Django,Apache和AWS的概念感到困惑。

我有使用Django和AWS开发Web后端的经验。

Django处理了Web浏览器和服务器之间的交互。

AWS使客户端能够共享相同的服务器和数据。

但是,什么是Apache?在开发过程中没有考虑这一点。

根据我的研究,Apache是​​Web服务器应用程序。

但是,我无法说出它与AWS的确切区别。

AWS是否包括Apache?

请帮助我确定什么是Apache。谢谢 :)

apache django amazon-web-services web

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

How can I create a JWT with RSA256 algorithm and a private key?

String prvKey = "-----BEGIN PRIVATE KEY-----\n"
        + "........\n"
        + "-----END PRIVATE KEY-----";
Jwts.builder()
        .setClaims(jwtClaim)
        .signWith(SignatureAlgorithm.RS256, prvKey)
        .compact();
Run Code Online (Sandbox Code Playgroud)

Running this Java code prints

java.lang.IllegalArgumentException: Base64-encoded key bytes may only be specified for HMAC signatures. If using RSA or Elliptic Curve, use the signWith(SignatureAlgorithm, Key) method instead.

当我将RS256更改为HS256签名时,令牌生成良好,但我的目标服务器只接受RS256签名令牌,所以我必须使用RS256。

错误日志对我没有帮助,因为我已经在使用signWith(SignatureAlgorithm, Key)方法了。

我该如何解决这个问题?

任何评论、链接都值得赞赏。

jwt

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