mirror of
https://github.com/its-a-feature/Mythic
synced 2026-06-08 14:55:38 +00:00
slight UI tweak for tag search page
This commit is contained in:
@@ -4,6 +4,12 @@ All notable changes to this project will be documented in this file.
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
## [0.3.1] - 2025-01-18
|
||||
|
||||
### Changed
|
||||
|
||||
- Added the ability to adjust a file's hosting from the tag search
|
||||
|
||||
## [0.3.0] - 2025-01-17
|
||||
|
||||
### Changed
|
||||
|
||||
@@ -201,7 +201,7 @@ export function Callbacks({me}) {
|
||||
newOpenTabList.push(openTabs[targetTabIndex]);
|
||||
newOpenTabList.push(openTabs[i]);
|
||||
}
|
||||
|
||||
|
||||
setClickedTabId(openTabs[targetTabIndex].tabID)
|
||||
} else {
|
||||
newOpenTabList.push(openTabs[i]);
|
||||
@@ -236,7 +236,6 @@ export function Callbacks({me}) {
|
||||
];
|
||||
const onDragEnd = ({ destination, source }) => {
|
||||
// dropped outside the list
|
||||
console.log("called onDragEnd");
|
||||
if (!destination) return;
|
||||
const newItems = reorder(openTabs, source.index, destination.index);
|
||||
setOpenTabs(newItems);
|
||||
|
||||
@@ -17,6 +17,9 @@ import {deleteTagMutation} from '../../MythicComponents/MythicTag';
|
||||
import {useMutation} from '@apollo/client';
|
||||
import {snackActions} from "../../utilities/Snackbar";
|
||||
import {b64DecodeUnicode} from '../Callbacks/ResponseDisplay';
|
||||
import {MythicStyledTooltip} from "../../MythicComponents/MythicStyledTooltip";
|
||||
import {HostFileDialog} from "../Payloads/HostFileDialog";
|
||||
import PublicIcon from '@mui/icons-material/Public';
|
||||
|
||||
export function TagTable(props){
|
||||
const [tags, setTags] = React.useState([]);
|
||||
@@ -93,7 +96,7 @@ function TagTableRow(props){
|
||||
}
|
||||
function TagTableRowElement(props){
|
||||
const [viewPermissionsDialogOpen, setViewPermissionsDialogOpen] = React.useState(false);
|
||||
|
||||
const [openHostDialog, setOpenHostDialog] = React.useState(false);
|
||||
const getElement = () => {
|
||||
if(props.task) {
|
||||
return (
|
||||
@@ -248,7 +251,24 @@ function TagTableRowElement(props){
|
||||
{b64DecodeUnicode(props.filemetum.full_remote_path_text)}
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
<TableRow hover>
|
||||
<TableCell>File Hosting</TableCell>
|
||||
<TableCell>
|
||||
<MythicStyledTooltip title={"Host Payload Through C2"} >
|
||||
<PublicIcon color={"info"} style={{marginLeft: "20px", cursor: "pointer"}} onClick={()=>{setOpenHostDialog(true);}} />
|
||||
</MythicStyledTooltip>
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
</TableBody>
|
||||
|
||||
{openHostDialog &&
|
||||
<MythicDialog fullWidth={true} maxWidth="md" open={openHostDialog}
|
||||
onClose={()=>{setOpenHostDialog(false);}}
|
||||
innerDialog={<HostFileDialog file_uuid={props.filemetum.agent_file_id}
|
||||
file_name={props.filemetum.full_remote_path_text === "" ? b64DecodeUnicode(props.filemetum.filename_text) : b64DecodeUnicode(props.filemetum.full_remote_path_text)}
|
||||
onClose={()=>{setOpenHostDialog(false);}} />}
|
||||
/>
|
||||
}
|
||||
</Table>
|
||||
</TableContainer>
|
||||
)
|
||||
|
||||
@@ -15,7 +15,7 @@ import jwt_decode from 'jwt-decode';
|
||||
import {meState} from './cache';
|
||||
import {getSkewedNow} from "./components/utilities/Time";
|
||||
|
||||
export const mythicUIVersion = "0.3.0";
|
||||
export const mythicUIVersion = "0.3.1";
|
||||
|
||||
let fetchingNewToken = false;
|
||||
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
{
|
||||
"files": {
|
||||
"main.css": "/new/static/css/main.602591e6.css",
|
||||
"main.js": "/new/static/js/main.bf84c951.js",
|
||||
"main.js": "/new/static/js/main.54a70f66.js",
|
||||
"static/media/mythic-red.png": "/new/static/media/mythic-red.203468a4e5240d239aa0.png",
|
||||
"static/media/graphql.png": "/new/static/media/graphql.8f15978b39b0870a9f0e.png",
|
||||
"static/media/Mythic_Logo.svg": "/new/static/media/Mythic_Logo.6842c911bebe36d6f83fc7ced4a2cd99.svg",
|
||||
"static/media/mythic_red_small.svg": "/new/static/media/mythic_red_small.793b41cc7135cdede246661ec232976b.svg",
|
||||
"index.html": "/new/index.html",
|
||||
"main.602591e6.css.map": "/new/static/css/main.602591e6.css.map",
|
||||
"main.bf84c951.js.map": "/new/static/js/main.bf84c951.js.map"
|
||||
"main.54a70f66.js.map": "/new/static/js/main.54a70f66.js.map"
|
||||
},
|
||||
"entrypoints": [
|
||||
"static/css/main.602591e6.css",
|
||||
"static/js/main.bf84c951.js"
|
||||
"static/js/main.54a70f66.js"
|
||||
]
|
||||
}
|
||||
@@ -1 +1 @@
|
||||
<!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="icon" href="/new/favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><link rel="apple-touch-icon" href="/new/logo192.png"/><link rel="manifest" href="/new/manifest.json"/><title>Mythic</title><script defer="defer" src="/new/static/js/main.bf84c951.js"></script><link href="/new/static/css/main.602591e6.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div></body></html>
|
||||
<!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="icon" href="/new/favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><link rel="apple-touch-icon" href="/new/logo192.png"/><link rel="manifest" href="/new/manifest.json"/><title>Mythic</title><script defer="defer" src="/new/static/js/main.54a70f66.js"></script><link href="/new/static/css/main.602591e6.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div></body></html>
|
||||
+3
-3
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user