zoukankan      html  css  js  c++  java
  • 攻防世界 高手进阶区 web cat

    • php cURL CURLOPT_SAFE_UPLOAD
    • django DEBUG mode
    • Django使用的是gbk编码,超过%F7的编码不在gbk中有意义
    • 当 CURLOPT_SAFE_UPLOAD 为 true 时,如果在请求前面加上@的话phpcurl组件是会把后面的当作绝对路径请求,来读取文件。当且仅当文件中存在中文字符的时候,Django 才会报错导致获取文件内容。

    1.进行fuzz后,发现字符超过0x7F的ASCII都会引发Django的报错。在url中输入?url=%88,可以得到报错页面

    2.可以判断出后台运行了两个应用,一个是PHP应用,一个是Django,用来处理php发来的请求。

    3.通过 Django 报错调用栈中的信息,在settings项目中可以看到数据库相关信息

    4.在通过访问111.198.29.45:52284/index.php?url=@/opt/api/database.sqlite3 得到数据库内容,其中包含 Flag,如图所示

    (flag在返回内容的file和post位置)

  • 相关阅读:
    EasyARM-Linux工具
    EasyARM-Linux文件系统
    EasyARM-Linux使用
    公差-PCBA
    novoton-USBDevice使用
    novoton-RTC使用
    novoton-ADC使用
    novoton-I2C使用
    novoton-timer使用
    novoton-usart使用
  • 原文地址:https://www.cnblogs.com/xyongsec/p/11364520.html
Copyright © 2011-2022 走看看