SELECT 'dynamic' AS component, sqlpage.run_sql('shell/shell.sql') AS properties;
-- not including breadcrumbs from sqlpage_aide_navigation
-- not including page title from sqlpage_aide_navigation
SELECT 'title' AS component, (SELECT COALESCE(title, caption)
FROM sqlpage_aide_navigation
WHERE namespace = 'prime' AND path = 'tem/session/subfinder.sql/index.sql') as contents;
;
--- Display breadcrumb
SELECT
'breadcrumb' AS component;
SELECT
'Home' AS title,
sqlpage.environment_variable('SQLPAGE_SITE_PREFIX') || '/' AS link;
SELECT
'Threat Exposure Management' AS title,
sqlpage.environment_variable('SQLPAGE_SITE_PREFIX') || '/tem/index.sql' AS link;
SELECT 'Attack Surface Mapping By Session' AS title,
sqlpage.environment_variable('SQLPAGE_SITE_PREFIX') || '/tem/attack_surface_mapping_session.sql' AS link;
SELECT 'Findings' AS title,
sqlpage.environment_variable('SQLPAGE_SITE_PREFIX') || '/tem/session/finding.sql?session_id=' || $session_id AS link;
SELECT 'Subfinder Results' AS title,
'#' AS link;
--- Display Page Title
SELECT
'title' as component,
'Subfinder Results' as contents;
SELECT
'text' as component,
'This page displays results from the Subfinder tool. It shows discovered subdomains, their source, and ingestion metadata. This helps in expanding the attack surface by enumerating subdomains associated with target domains and providing visibility into where they were found.' as contents;
SELECT 'table' AS component,
TRUE AS sort,
TRUE AS search;
SET total_rows = (SELECT COUNT(*) FROM tem_subfinder WHERE ur_ingest_session_id = $session_id);
SET limit = COALESCE($limit, 50);
SET offset = COALESCE($offset, 0);
SET total_pages = ($total_rows + $limit - 1) / $limit;
SET current_page = ($offset / $limit) + 1;
SELECT
tenant_name AS "Tenant",
domain AS "Domain",
raw_records AS "Discovered Host",
source AS "Source",
tool_name AS "Tool"
FROM tem_subfinder WHERE ur_ingest_session_id = $session_id;
SELECT 'text' AS component,
(SELECT CASE WHEN CAST($current_page AS INTEGER) > 1 THEN '[Previous](?limit=' || $limit || '&offset=' || ($offset - $limit) || COALESCE('&session_id=' || replace($session_id, ' ', '%20'), '') || ')' ELSE '' END)
|| ' '
|| '(Page ' || $current_page || ' of ' || $total_pages || ") "
|| (SELECT CASE WHEN CAST($current_page AS INTEGER) < CAST($total_pages AS INTEGER) THEN '[Next](?limit=' || $limit || '&offset=' || ($offset + $limit) || COALESCE('&session_id=' || replace($session_id, ' ', '%20'), '') || ')' ELSE '' END)
AS contents_md
;
;