Open-AudIT
https://www.open-audit.org/phpBB3/

Problem setting up mysql
https://www.open-audit.org/phpBB3/viewtopic.php?f=10&t=2199
Page 2 of 2

Author:  idar [ Wed Apr 11, 2007 1:14 am ]
Post subject: 

i didnt get u. u want me to make changes in ldap_details? or include_config.
plus the changes u mentioned i didnt know what was that.

thanks

Author:  idar [ Wed Apr 11, 2007 1:28 am ]
Post subject: 

Andrew,
I made the url change and it was the same page with error
"Not found in dc=mydomain,dc=com.

When u say real active directory name for mydomain.com and not mydomain.com
what do u mean by that?
The domain mydomain.com is the FQDN and active directory should be same thats my understanding. If not then how can i find out whether its different or not?

Thanks..

Author:  A_Hull [ Wed Apr 11, 2007 5:48 pm ]
Post subject: 

[quote="idar"]Andrew,
I made the url change and it was the same page with error
"Not found in dc=mydomain,dc=com.

When u say real active directory name for mydomain.com and not mydomain.com
what do u mean by that?
The domain mydomain.com is the FQDN and active directory should be same thats my understanding. If not then how can i find out whether its different or not?

Thanks..

Well for example, if you have an active directory name of thiscompany.local and a "real" domain of thiscompany.com, then you need to use the string dc=thiscompany,dc=local and not dc=thiscompany,dc=com and certainly not dc=mydomain,dc=com

Author:  idar [ Thu Apr 12, 2007 1:18 am ]
Post subject: 

yes,
my domain name is
thiscompany.com and active directory same like thiscompany.com
and i am defining the string dc=thiscompany,dc=com
If i type a wrong username and password to connect to the ldap it does comeup with the error msg username/password not correct. so i am assuming the domain string is right otherwise it shouldnt complain for a wrong userid/password.

Just to remind i am making the necessary changes in the include_config. one more thing
as i told mike that i dont have the following parameters should they matter.


Mike,
I have edited the include_config.

i didn't get all the parameters listed in the config file. following were missing.
$ldap_connect_string
$ldap_attributes = array('displayname','description','userprincipalname','homedirectory','homedrive','profilepath','scriptpath','mail','samaccountname','telephonenumber','usncreated','department','sn');

$ldap_filter = '(&(objectClass=user)(objectCategory=person)(|(samaccountname='.$name.chr(42).')(name='.$name.chr(42).')(displayname='.$name.chr(42).')(cn='.$name.chr(42).')))';

and last but not the least when i click any of the webserver and then iis settings it says no results.

One last thing i am really grateful to all u guys who have helped me setup this tool.

Thanks

Author:  mikeyrb [ Thu Apr 12, 2007 3:32 am ]
Post subject: 

Try adding those missing items.

Author:  A_Hull [ Thu Apr 12, 2007 5:55 pm ]
Post subject: 

I assume the user you are connecting as has sufficient access to the LDAP.


In my include_config.php I have the following defined.

[code]
...
$use_ldap_integration= 'y';

$ldap_base_dn= 'dc=mycompany,dc=local';

$ldap_server = 'myserver.mycompany.local';

$ldap_user = 'ldapuser@mycompany.local';

$ldap_secret = 'password';

$full_details = '';
...
[/code]

My ldap_details.php reads as follows..

[code]
<?php
$page = "";
$extra = "";
$software = "";
$count = 0;
$total_rows = 0;

$page = "";
include "include.php";

$title = "ldap_datails.php";
if (isset($_GET["show_all"])){ $count_system = '10000'; } else {}
if (isset($_GET["page_count"])){ $page_count = $_GET["page_count"]; } else { $page_count = 0;}
$page_prev = $page_count - 1;
if ($page_prev < 0){ $page_prev = 0; } else {}
$page_next = $page_count + 1;
$page_current = $page_count;
$page_count = $page_count * $count_system;

echo "<td>\n";


$user_name = "";
// Set name from URL
if (isset($_GET['name'])) {$name = $_GET['name'];} else {$name= "none";}
// Set record type, supports comupter or user accepts anything !FIXME this is so we can select DNS entries or whatever as yet uncoded.
if (isset ($_GET['record_type'])) {$record_type = $_GET['record_type'];} else {$record_type="user";}
// Sets detail level
if (isset($_GET['full_details'])) {$full_details = $_GET['full_details'];} else {$full_details= "n";}
// Sets inject into database (if supported for record type).
if (isset($_GET['inject'])) {$inject = $_GET['inject'];} else {$inject= "n";}
// Sets the sort field.
if (isset($_GET['$sort_column'])) {$sort_column = $_GET['$sort_column'];} else {$sort_column= "none";}



// Check setup included ldap integration
if ($use_ldap_integration == "y") {

// Find name from domain\name
if ($record_type=="user"){
$slash_char = chr(92);

$pos = strrpos($name, $slash_char);

if ($pos === false ) {
// Dont need to do anything if we didn't find a slash in the username.
} else {
// We pick up the right half of the string if we found the slash
$pos=$pos+1;
$name = substr($name,($pos));
// echo $name;
}
}
// $ldap vars are set in config
//
//Note that this LDAP string specifies the OU that contains the User Accounts
//All OUs under it are also retrieved

$dn = $ldap_base_dn;

//domain user fullname and password

$user = $ldap_user;
$secret = $ldap_secret;

if ($record_type=="user"){
//$attributes = array("displayname","description","userprincipalname","homedirectory","homedrive","profilepath","scriptpath","mail","samaccountname","telephonenumber","location","department","sn","badpwdcount");
$attributes = array("displayname","mail","telephonenumber","location","department","sn");

$filter = "(&(objectClass=user)(objectCategory=person)(|(samaccountname=".$name.chr(42).")(name=".$name.chr(42).")(displayname=".$name.chr(42).")(cn=".$name.chr(42).")))";

if ($full_details == 'dump') {$filter = "(&(objectCategory=person)(objectClass=user)(telephonenumber=*))";}
}
if ($record_type=="computer"){
$attributes = array("name","description","operatingsystem","operatingsystemservicepack","operatingsystemversion","location");
$filter = "(&(objectClass=computer)(objectCategory=computer)(|(samaccountname=".$name.chr(42).")(name=".$name.chr(42).")(displayname=".$name.chr(42).")(cn=".$name.chr(42).")))";
}


// This throws away some spurious Active Direcrory error related nonsense if you have no phone number or whatever
// should really catch this gracefully
error_reporting(0);

if (function_exists('ldap_connect')){
$ad = ldap_connect($ldap_server) or die(__("Couldn't connect to LDAP Dirctory"));
ldap_set_option($ad, LDAP_OPT_PROTOCOL_VERSION, 3);
ldap_set_option($ad, LDAP_OPT_REFERRALS, 0);
$bd = ldap_bind($ad,$user,$secret);

if ($bd){
//echo "Admin - Authenticated<br>";
} else {
echo "<b>".__("Problem - Not a valid username/password.")."</b>";
}


ldap_set_option($ad, LDAP_OPT_PROTOCOL_VERSION, 3);
ldap_set_option($ad, LDAP_OPT_REFERRALS, 0);
$bd = ldap_bind($ad,$user,$secret);
if ($bd){
// Could display a connected message here, but that messes up the formatting.
} else {
echo "<b>".__("Problem - Not a valid username/password.")."</b>";
}
} else {

echo "<b>".__("LDAP connectivity is not available, please check php.ini ")."</b>";
}

if ($full_details == "n"){$result = ldap_search($ad, $dn, $filter, $attributes);}
else
{$result = ldap_search($ad, $dn, $filter);}

if ((isset($sort_column)) and ($sort_column !="none")){
ldap_sort($ad,$result,"displayname");
}

$entries = ldap_get_entries($ad, $result);

echo "<div class=\"main_each\">\n";
echo "<form action=\"search.php?sub=no\" method=\"post\">";
echo "<table border=\"0\" cellpadding=\"2\" cellspacing=\"0\" width=\"100%\" class=\"content\">";

$num_found = $entries["count"];

if ($num_found == 0 ){
echo "<div class=\"main_each\">\n";
echo "<form action=\"search.php?sub=no\" method=\"post\">";
echo "<table border=\"0\" cellpadding=\"2\" cellspacing=\"0\" width=\"100%\" class=\"content\">";
if ($bgcolor == "#F1F1F1") { $bgcolor = "#FFFFFF"; } else { $bgcolor = "#F1F1F1"; }
echo "<p>";
echo "<tr bgcolor=\"" . $bgcolor . "\"><td><b>".__("Not found in ".$ldap_base_dn.".")."</b></td></tr>";

} else {

if ($inject == "y"){
//sql inject create table $table_name = "ldap_users_details";
$column_names = "";
$column_values = "";
$table_name = "ldap_users_details";

//$sql ="DROP TABLE IF EXISTS `".$table_name ."`;";
//$result = mysql_query($sql) ;

$time_now = time();
$sql = "CREATE TABLE IF NOT EXISTS `" . $table_name . "` (
`ldap_users_details_id` int(11) NOT NULL auto_increment,
`ldap_users_details_first_timestamp` bigint(20) unsigned NOT NULL default '".$time_now."',
`ldap_users_details_update_timestamp` bigint(20) unsigned NOT NULL default '0',
`samaccountname` varchar(100) NOT NULL default '',
PRIMARY KEY (`samaccountname`),
KEY (`ldap_users_details_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;";
// $result = mysql_query($sql);
$result = mysql_query($sql) or die ('CREATE Failed: ' . mysql_error() . '<br />' . $sql);
//end
}

for ($user_record_number = 0; $user_record_number<$num_found; $user_record_number++) {
//echo "Next User:<br>";

$record_number = $user_record_number+1;

// Show the correct image
if ($record_type == 'computer'){
echo "<td><img src='images/o_terminal_server.png' width='64' height='64' alt='' />";
}
if ($record_type == 'user'){
echo "<td><img src='images/users_l.png' width='64' height='64' alt='' />";
}




$bgcolor == "#FFFFFF";
// if ($bgcolor == "#F1F1F1") { $bgcolor = "#FFFFFF"; } else { $bgcolor = "#F1F1F1"; }
echo "<tr bgcolor=\"" . $bgcolor . "\"><td><h3>" . $entries[$user_record_number]["displayname"][0] . "</h3></td><td></td></tr>";
$bgcolor = change_row_color($bgcolor,$bg1,$bg2);
echo "<tr bgcolor=\"" . $bgcolor . "\"><td><b>Telephone:</td><td>" . $entries[$user_record_number]["telephonenumber"][0] . "</a></b></td></tr>";
$bgcolor = change_row_color($bgcolor,$bg1,$bg2);
echo "<tr bgcolor=\"" . $bgcolor . "\"><td>" .__("Full LDAP Account Details"). "</td><td></td></tr>";
for ($user_record_field_number=0; $user_record_field_number<$entries[$user_record_number]["count"]; $user_record_field_number++){
$data =$entries[$user_record_number][$user_record_field_number];




for ($user_record_field_number_data=0; $user_record_field_number_data<$entries[$user_record_number][$data]["count"]; $user_record_field_number_data++) {

if ($inject == "y"){
// SQL inject code.

// $sql="ALTER TABLE 'ldap_users_details' ADD COLUMN IF NOT EXISTS '$data' varchar(255) ;";
$sql2="ALTER TABLE ".$table_name ." ADD COLUMN ".$data." varchar(255) NOT NULL default '' ;";

$result = mysql_query($sql2) ;
//or die ('ALTER Failed: ' . mysql_error() . '<br />' . $sql);

$column_names = $column_names.$data.",";

$this_value = ereg_replace("/","-", $entries[$user_record_number][$data][$user_record_field_number_data]);
$this_value = ereg_replace("'","-",$this_value);
$last_value = $this_value ;

$column_values = $column_values."'".$this_value."',";
}
// End SQL inject
if (isEmailAddress($entries[$user_record_number][$data][$user_record_field_number_data])){
// If its a valid email address, highlight it, and add a URL mailto:
$bgcolor = change_row_color($bgcolor,$bg1,$bg2);
echo "<tr bgcolor=\"" . $bgcolor . "\"><td><b>".__($data).":</b></td><td><a href='mailto:" . $entries[$user_record_number][$data][$user_record_field_number_data] . "'>" . $entries[$user_record_number][$data][$user_record_field_number_data] . "</a></td></tr>";
}
else
{
if (isGUID($entries[$user_record_number][$data][$user_record_field_number_data])){
$guid_text= strtoupper(formatGUID($entries[$user_record_number][$data][$user_record_field_number_data]));
echo "<tr bgcolor=\"" . $bgcolor . "\"><td>".__($data).":</td><td>{".$guid_text."}</td></tr>";
}
else
{
if (isSID($data)){
$sid_text= strtoupper(formatSID($entries[$user_record_number][$data][$user_record_field_number_data]));
echo "<tr bgcolor=\"" . $bgcolor . "\"><td>".__($data).":</td><td>{".$sid_text."}</td></tr>";
}
else
{
// Else just show it.
$bgcolor = change_row_color($bgcolor,$bg1,$bg2);
echo "<tr bgcolor=\"" . $bgcolor . "\"><td>".__($data).":</td><td>" .$entries[$user_record_number][$data][$user_record_field_number_data]. "</td></tr>";
}
}
}

}

}
if ($inject == "y"){
// SQL inject code
$column_names = rtrim( $column_names,",");
$column_values = rtrim( $column_values,",");
$time_now = time();
$sql="INSERT INTO ".$table_name. " (".$column_names.") VALUES (".$column_values.") ON DUPLICATE KEY UPDATE ldap_users_details_update_timestamp = ".$time_now." ;";

//
$result = mysql_query($sql) or die ('Insert Failed: ' . mysql_error() . '<br />' . $sql);
$column_names = "";
$column_values = "";
// End SQL inject
}

echo "<p>"; // separate entries
echo "<tr><td colspan=\"2\"><hr /></td></tr>\n";
}
}
} else {

echo "<div class=\"main_each\">\n";
echo "<form action=\"search.php?sub=no\" method=\"post\">";
echo "<table border=\"0\" cellpadding=\"2\" cellspacing=\"0\" width=\"100%\" class=\"content\">";
$bgcolor = change_row_color($bgcolor,$bg1,$bg2);
echo "<p>";
echo "<tr bgcolor=\"" . $bgcolor . "\"><td><b>".__("LDAP Not configured. Please set this up in Admin> Config")."</b></td></tr>";
}
echo "</table>";

echo "</td>\n";

include "include_right_column.php";

echo "</body>\n</html>\n";


?>
[/code]

Author:  A_Hull [ Thu Apr 12, 2007 6:36 pm ]
Post subject: 

If you want a good place to find out more about PHP and Active Directory, look here...

[url]http://www.developer.com/lang/php/article.php/3100951[/url]

Page 2 of 2 All times are UTC + 10 hours
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/