小编Ana*_*our的帖子

在 div 或组件上禁用 Tailwind

有没有办法在特定的 div 或组件上禁用 Tailwind 的预检?例如所见即所得编辑器,或者想要逐步迁移到 Tailwind。

tailwind-css

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

如何在 Django Rest Framework 中使用 MultiPartParser

我需要上传一个文件和一些与之相关的 JSON。但我不明白如何保存不同的部分,特别是 JSON 部分,即我能够保存图像但不能保存 JSON。

读到我需要使用 MultiPartParser但我不知道如何将它正确集成到我的序列化器类中。

这是我的服务器收到的多部分请求:

<QueryDict: {'geo': ['{"point" : { "type:" : "Point", "coordinates" : [11.51350462236356, -22.70903491973877]}}'], 'picture': [<TemporaryUploadedFile: photo3.jpg (image/*)>]}>
Run Code Online (Sandbox Code Playgroud)

这是视图:

class UserUploadedPicture(APIView):

    def post(self, request, format=None):
        print(request.data)
        print("\n\n\n")
        serializer = PictureSerializer(data=request.data)
        if serializer.is_valid():
            serializer.save()
            return JsonResponse(serializer.data)
        return JsonResponse(serializer.errors, status=400)
Run Code Online (Sandbox Code Playgroud)

这是序列化程序:

class PictureSerializer(GeoFeatureModelSerializer):
    class Meta:
        model = Pictures
        geo_field = "point"
        fields = ('picture', 'processed', 'flagged', 'point')
Run Code Online (Sandbox Code Playgroud)

这是模型:

class Pictures(models.Model):
    objects = models.GeoManager()
    picture = models.ImageField(null=True, default=None, blank=True)
    processed = models.BooleanField(default=False)
    flagged = models.BooleanField(default=False) …
Run Code Online (Sandbox Code Playgroud)

django geodjango django-rest-framework django-rest-framework-gis

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

Setuid二进制文件通过覆盖%n来生成根外壳,不适用于漏洞利用,但在不需要漏洞利用时起作用

我有一个Setuid二进制文件,该文件具有一个printf格式字符串漏洞,应该与“%n”一起利用它来覆盖authenticated全局变量的值。使用/ bin / bash时authenticated = 1,使用root Setuid权限可以执行/ bin / bash ,但authenticated = 0使用exploit时则不能。

我已经尝试过ls并且可以正常工作,所以exec正在发生。我也尝试过authenticated = 1在源代码中进行制作,因此它可以自动运行bash而不会被利用。这适用于生成根外壳。使用漏洞利用程序时,程序将按预期方式调用授予访问权限的功能,但在exec处结束,并且永远不会达到错误。但是,父进程死了,这意味着bash的执行程序一定已经发生。Bash必须正在执行,但是它在启动时崩溃/退出。

#define _GNU_SOURCE
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
#include <string.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <errno.h>

int authenticated = 0;


void read_flag() {
  if (!authenticated) {
    printf("Sorry, you are not *authenticated*!\n");
  }
  else {
    printf("Access Granted.\n");
    int cpid = fork();
    if(cpid == 0){
      printf("child!\n");
      execlp("/bin/bash", "bash", NULL);
      perror("error");
    }
    else{
      wait(NULL);
    } …
Run Code Online (Sandbox Code Playgroud)

c linux bash setuid ctf

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

模拟外部 API 以使用 Python 进行测试

语境

我正在尝试为查询外部 API 的函数编写测试。这些函数向 API 发送请求、获取响应并处理它们。在我的测试中,我想使用本地运行的模拟服务器来模拟外部 API。到目前为止,模拟服务器已成功运行并响应自定义 GET 查询。

问题

外部 API 使用 type 的对象进行响应<class 'dict'>,而显然我可以从模拟服务器获得的只是 type 的响应<class 'bytes'>。模拟服务器从磁盘获取预定义的数据并通过流返回它们。由于我无法模拟外部 API,因此我的测试会因响应类型错误而抛出错误消息。

以下是我的代码片段和一些解释。

1.setUp ()函数:

setUp 函数在测试套件的开头运行。它负责在运行测试之前配置和运行服务器:

def setUp(self):
    self.factory = APIRequestFactory()
    # Configuring the mock server
    self.mock_server_port = get_free_port()
    self.mock_server = HTTPServer(('localhost', self.mock_server_port), MockServerRequestHandler)
    # Run the mock server in a separate thread
    self.mock_server_thread = Thread(target=self.mock_server.serve_forever)
    self.mock_server_thread.setDaemon(True)
    self.mock_server_thread.start()
Run Code Online (Sandbox Code Playgroud)

2. MockServerClassHandler:

class MockServerRequestHandler(BaseHTTPRequestHandler):
def do_GET(self):
    if re.search(config.SYSTEM_STATUS_PATTERN, self.path):
        # Response status code
        self.send_response(requests.codes.ok)
        # Response headers
        self.send_header("Content-Type", "application/json; …
Run Code Online (Sandbox Code Playgroud)

python json unit-testing httpserver web-api-testing

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