library/src/exploitation/WebExploitation/BP-WebExploitation.cc
// Displays the stack of blind sql injection results.  The results
// are stored in a stack of structures rather than the list format of
// the other results due to it being a simply better design.  In the future
// i plan to reimplement all result lists as stacks in this fashion.
Displays the stack of blind sql injection results.  The results
are stored in a stack of structures rather than the list format of
the other results due to it being a simply better design.  In the future
i plan to reimplement all result lists as stacks in this fashion.
Displays the stack of blind sql injection results . The results are stored in a stack of structures rather than the list format of the other results due to it being a simply better design . In the future i plan to reimplement all result lists as stacks in this fashion .
void BP_PrintBlindSQLiResults(P_BP_WEB_ASSESSMENT assessment)
{
	if(!assessment)
		return;
	if(!assessment->bsqli_results)
		return;
	printf("\n\t [+] Blind SQLi Results Stack: %p", assessment->bsqli_results);
	size_t j = 0;
	for(; j < assessment->bsqli_result_count; j++)
	{
		if(!assessment->bsqli_results[j].type)
			break;
		printf("\n\t\t  - target result id:  %u", assessment->bsqli_results[j].db_result_id);
		printf("\n\t\t  - target request id: %u", assessment->bsqli_results[j].db_request_log_id);
		switch(assessment->bsqli_results[j].type)
		{
			case BP_WEB_BLINDSQLI_TYPE_TIME_BENCHMARK:
				printf("\n\t\t bsqli type:  TIME DELAY/HEAVY QUERY DETECTION");
				printf("\n\t\t request delayed by: %u(s)", assessment->bsqli_results[j].actual_request_time);
				break;
			case BP_WEB_BLINDSQLI_TYPE_UNION_SELECT:
				printf("\n\t\t bsqli type: UNION SELECT");
				break;
			case BP_WEB_BLINDSQLI_TYPE_NONE:
				printf("\n\t\t bsqli type: NO TYPE, ERROR!");
				break;
			default:
				break;
		}
		printf("\n\t\t bsqli_test_vals:");
		printf("\n\t\t    http get:    %s", assessment->bsqli_results[j].http_get);
		printf("\n\t\t    http post:   %s", assessment->bsqli_results[j].http_post);
		printf("\n\t\t    http cookie: %s", assessment->bsqli_results[j].http_cookie);
		printf("\n");
	}
	return;
}
void BP_PrintBlindSQLiResults ( P_BP_WEB_ASSESSMENT assessment ) { if ( ! assessment ) return ; if ( ! assessment -> bsqli_results ) return ; printf ( " \n \t " , assessment -> bsqli_results ) ; size_t j = 0 ; for ( ; j < assessment -> bsqli_result_count ; j ++ ) { if ( ! assessment -> bsqli_results [ j ] . type ) break ; printf ( " \n \t \t " , assessment -> bsqli_results [ j ] . db_result_id ) ; printf ( " \n \t \t " , assessment -> bsqli_results [ j ] . db_request_log_id ) ; switch ( assessment -> bsqli_results [ j ] . type ) { case BP_WEB_BLINDSQLI_TYPE_TIME_BENCHMARK : printf ( " \n \t \t " ) ; printf ( " \n \t \t " , assessment -> bsqli_results [ j ] . actual_request_time ) ; break ; case BP_WEB_BLINDSQLI_TYPE_UNION_SELECT : printf ( " \n \t \t " ) ; break ; case BP_WEB_BLINDSQLI_TYPE_NONE : printf ( " \n \t \t " ) ; break ; default : break ; } printf ( " \n \t \t " ) ; printf ( " \n \t \t " , assessment -> bsqli_results [ j ] . http_get ) ; printf ( " \n \t \t " , assessment -> bsqli_results [ j ] . http_post ) ; printf ( " \n \t \t " , assessment -> bsqli_results [ j ] . http_cookie ) ; printf ( " \n " ) ; } return ; }
Displays the stack of blind sql injection results.
Displays the stack of blind sql injection results .
// if the type is NONE (0), we are at a dead end // as this condition should never be possible exept // at the truncating element. // display the actual test string used // the blind sqli detected type