zoukankan      html  css  js  c++  java
  • ldap

    这两天着手ldap注入的扫描插件。

    可以分为几个点

    LDAP环境选用

    LDAP结构

    LDAP语法

    LDAP命令

    该篇慢慢补充,之后再进行拆分。


    关于bwapp中的ldap

    花了一个晚上的时间,下载了bwapp-box,打开。

    几个困惑的点:

    php ldap_connect()函数

    打开bwapp的ldap页面,有 login、password、server、base dn四个填空项。

    填写提交后,只提示 认证错误或者服务器错误。

    此时遇到的第一个问题是,server是什么?

    于是打开

    /var/www/bWAPP

    路径下的ldap_connect.php文件

    在下列语句后加了判断连接成功与否的语句

    $ds=ldap_connect($server);

    [ 添加 ]

    if($ds === false || $ds <= 0){
        echo '<p>service connect false!!!!!!</p>';
    }
    else{
        echo '<p>success!!!!!!!!!!!!!</p>';
        print_r($ds);
    }

    结果是,无论server输入什么,都不会报错。

    对比 php ldap的文档,ldap_connect()是会返回false与true的,初以为是bwapp中重写了php ldap,从而不用搭建服务器,做了一个伪的ldap。

    其实是:

    如果服务器端是 OpenLDAP 2.x.x 或更高版本,那么此函数将始终返回一个LDAP连接标识符,而永远不会失败。实际的连接动作将在接下来调用 ldap_* 函数[通常是ldap_bind()]时执行。

    (http://www.jinbuguo.com/php/php-ldap.html)

    (https://stackoverflow.com/questions/5309372/php-warning-ldap-bind-unable-to-bind-to-server-cant-contact-ldap-server)

    那么应该bwapp中如何判断连接成功与否呢?

    $r = @ldap_bind($ds, $login, $password);

    去掉@,开启这一句的报错,则能够在前端页面中看到错误原因。

    是否真的有ldap服务器

    因为ldap比较偏门,且ldap的注入则更为偏门,所以资料比较少。

    google一遍,发现大部分都没有细说bwapp - ldap的

    比如 youtube视频 , 讲解bwapp中各种注入,居然跳过了ldap;

    某圈中讲解,对这一项表示太难不做;

    或者说了半天等于没说,最后来一句,连接server(https://hydrasky.com/network-security/how-to-authenticate-client-computers-using-ldap/)

    可能对的解释:

    server参数需要自己再搭建ldap服务器或者有其他服务器可以填写,这样子的话,bwapp只是提供了一个web端,服务器端要自己准备,没什么用。

    (https://github.com/theand-fork/bwapp-code/issues/1)

    结论:自己搞吧


    bwapp搭建选用windows+openldap

    这一方面已经搭建好了,但是还有一些小点不明白:

    1. 为什么修改conf之后某些操作失效了

    2. 对于环境安装的整个过程顺序还有意义还未能理解透彻

    等理解透彻后并整理完毕再补充这一篇


    Failed to Read Entry dc=maxcrc,dc=com

    需要初始化数据

    ldapmodify -x -a -D cn=manager,dc=maxcrc,dc=com -w secret -f ..maxcrc.ldif

    https://www.userbooster.de/forum/yaf_postsm336findunread_Just-keep-getting-that--Failed-to-Read-Entry--message.aspx


    ldap_search报错:

    ldap_search(): supplied argument is not a valid ldap link resource

    原因

    因代码写错,ldap_bind()的接收参数与ldap_connect()一样,将ldap_connect()的覆盖掉了,所以将 ldap_bind()的返回对象传入给第一个参数,而第一个参数要求的是ldap_connect()的返回对象。

    ldap命令

    开启:slapd.exe -d 1 -f ./slapd.conf

  • 相关阅读:
    最短路详解
    树状数组基础
    并查集初步
    python shell的交互模式和文本编辑模式
    基于python的selenium自动化测试环境搭建
    Nagios基本搭建
    mysql错误代码对照表较完整
    搭建phpMyAdmin
    Cent OS 7 搭建MySQL
    详解封装源码包成RPM包
  • 原文地址:https://www.cnblogs.com/huim/p/9404327.html
Copyright © 2011-2022 走看看