Forwarded from Micro Space
مصادر لكورس ال +a:
https://youtu.be/0Uqj-GIEsCI?si=GMaoHJp56eMCb_8g
https://youtu.be/jjYCZQ9h6JY?si=jDNmkZL6K9DtgSCe
https://youtu.be/87t6P5ZHTP0?si=zjUfB4weV0me39av
مصادر لكورس ال ccna:
https://youtu.be/-WL2oWVcZYc?si=5LQG9ilNwmUYAE_g
مصادر لكورس ال +network:
https://youtu.be/As6g6IXcVa4?si=aGss26HoB-aJ3jrt
https://youtu.be/IA_qrcEwDCI?si=L19EBqwCj2M4u3Oz
مصادر لكورس ال security:
https://youtu.be/dyKg_bQOXfU?si=M2fiehIhBJqNp47j
https://www.youtube.com/watch?v=8n1D5vAC9cs&list=PLi4D6ypXyLFA4lwAiTNWoGjyBX2pdslW8
مصادر لتعلم kali linux:
https://youtu.be/rgmi5JEywNg?si=T81tp_9KSOX55lQX
مصادر لتعلم البرمجة:
https://youtu.be/6QAELgirvjs?si=Qq3KXSmoKWCCjH-i
https://youtu.be/aHzw_8wWl48?si=_8Qic0s6Kd6Jo4_U
https://youtu.be/GM6dQBmc-Xg?si=lwKaPRGEDIru_d-W
https://youtu.be/xcg9qq6SZ0w?si=4_P9yMsx7zw6dGAt
web pentesting:
https://youtu.be/pdgBU9MDAwE?si=nmFr6QSdCvKgEBOm
https://youtu.be/BjfCWSFmIFI?si=UtaZU7ASirCXh_BE
https://youtu.be/0Uqj-GIEsCI?si=GMaoHJp56eMCb_8g
https://youtu.be/jjYCZQ9h6JY?si=jDNmkZL6K9DtgSCe
https://youtu.be/87t6P5ZHTP0?si=zjUfB4weV0me39av
مصادر لكورس ال ccna:
https://youtu.be/-WL2oWVcZYc?si=5LQG9ilNwmUYAE_g
مصادر لكورس ال +network:
https://youtu.be/As6g6IXcVa4?si=aGss26HoB-aJ3jrt
https://youtu.be/IA_qrcEwDCI?si=L19EBqwCj2M4u3Oz
مصادر لكورس ال security:
https://youtu.be/dyKg_bQOXfU?si=M2fiehIhBJqNp47j
https://www.youtube.com/watch?v=8n1D5vAC9cs&list=PLi4D6ypXyLFA4lwAiTNWoGjyBX2pdslW8
مصادر لتعلم kali linux:
https://youtu.be/rgmi5JEywNg?si=T81tp_9KSOX55lQX
مصادر لتعلم البرمجة:
https://youtu.be/6QAELgirvjs?si=Qq3KXSmoKWCCjH-i
https://youtu.be/aHzw_8wWl48?si=_8Qic0s6Kd6Jo4_U
https://youtu.be/GM6dQBmc-Xg?si=lwKaPRGEDIru_d-W
https://youtu.be/xcg9qq6SZ0w?si=4_P9yMsx7zw6dGAt
web pentesting:
https://youtu.be/pdgBU9MDAwE?si=nmFr6QSdCvKgEBOm
https://youtu.be/BjfCWSFmIFI?si=UtaZU7ASirCXh_BE
❤2
Forwarded from Micro Space
My writeup to solve techshop web challenge from flagyard:
https://0xmicro.medium.com/flagyard-tchshop-web-easy-ssti-writeup-cb4bc6974c4d
https://0xmicro.medium.com/flagyard-tchshop-web-easy-ssti-writeup-cb4bc6974c4d
Medium
Flagyard: tchshop — Web-Easy SSTI Writeup
This challenge was solved by finding and exploiting a Server-Side Template Injection (SSTI) .
AoC 2025 day 1
https://adventofcode.com/2025/day/1
fn main() {
// initial vals
let mut pos = 50; // dial starts on 50
let mut p1 = 0; // part 1
let mut p2 = 0; // part 2
let steps = include_str!("./input.txt").lines().map(|rot| {
// left rotations decrease the dial by 1 so it's negative
let negative = rot.starts_with('L');
// parse the value
let clicks = rot[1..].parse::<i32>().unwrap();
(negative, clicks)
});
for (negative, clicks) in steps {
if negative {
// count for overflowing rotations
p2 += clicks / 100;
// if the rotation passes by zero add one to part2
p2 += (pos != 0 && clicks % 100 >= pos) as i32;
pos = (pos - clicks).rem_euclid(100);
} else {
pos += clicks;
p2 += pos / 100;
pos = pos.rem_euclid(100);
}
// for each time that pos equals zero at
// the end of a rotation, add one to part1
p1 += (pos == 0) as i32;
}
println!("solution: {p1}");
println!("solution: {p2}");
}https://adventofcode.com/2025/day/1
AoC 2025 Day 2
https://adventofcode.com/2025/day/2
fn is_repeated_twice(id: u128) -> bool {
let id_string = id.to_string();
let id_len = id_string.len();
// if each half of the id-string are equal then the ID is repeated
let (ids1, ids2) = id_string.split_at((id_len) / 2);
ids1 == ids2
}
fn is_repeated(id: u128) -> bool {
let id_string = id.to_string();
let id_len = id_string.len();
// try all possible pattern lengths
for block_len in 1..=(id_len / 2) {
// if the block-len is not
// divisible by id-len then
// it's not a repeated id
if id_len % block_len != 0 {
continue;
}
// the first block is what we will compare the other blocks to
let first_block = &id_string[..block_len];
let mut ok = true;
for i in (block_len..id_len).step_by(block_len) {
// if any block does not equal the first one then this is not
// a repeating pattern
if &id_string[i..i + block_len] != first_block {
ok = false;
break;
}
}
if ok {
return true;
}
}
false
}
fn main() {
let ranges = include_str!("./input2.txt").trim().split(",").map(|range| {
let (first, second) = range.split_once("-").unwrap();
let first = first.parse::<u128>().unwrap();
let second = second.parse::<u128>().unwrap();
first..=second
});
let p1: u128 = ranges
.clone()
.map(|x| x.filter(|&n| is_repeated_twice(n)).sum::<u128>())
.sum();
let p2: u128 = ranges
.map(|x| x.filter(|&n| is_repeated(n)).sum::<u128>())
.sum();
println!("solution: {p1}");
println!("solution: {p2}");
}https://adventofcode.com/2025/day/2
https://youtu.be/QcQYEAr0Yos
I can only aspire to be this much of a nerd
I can only aspire to be this much of a nerd
YouTube
Building a CPU in Factorio: From D-Flip-Flops to an Operating System
This is an English translation of a talk I gave at the 39th Chaos Communication Congress in Hamburg. If you understand German, please check out the original recording of the talk:
German 39c3 talk: https://www.youtube.com/watch?v=FLUeSurkMOI&t=14s
I explain…
German 39c3 talk: https://www.youtube.com/watch?v=FLUeSurkMOI&t=14s
I explain…
😱1🙏1