I was recently reminded of this enumeration.
Read, learn, and live it.
CWE - 2022 CWE Top 25 Most Dangerous Software Weaknesses (mitre.org)
I was recently reminded of this enumeration.
Read, learn, and live it.
CWE - 2022 CWE Top 25 Most Dangerous Software Weaknesses (mitre.org)
For some reason, that escapes me at the moment, I needed to generate a few passwords. And having spent most of my career as a Software Engineer, I don't spend the time brainstorming those bits, I write a program. Or perhaps better, I let someone else write the program.
So I did: I found someone's work, which was broken, fixed it, improved it, and now I'm sharing it with you.
Enjoy.
https://github.com/W1T3H4T/password-gen
cat /dev/urandom | head -c 2048| od -x | cut -b 8-40 | xargs | sed 's/ //g' | head -c 32
#!/bin/bash# =================================================================# File : csprng.sh# Function: Generate a cryptographically secure random number# Who : David Means <www.w1t3h4t.com># =================================================================function doHelp(){echoecho "Generate a cryptographically secure random number"echoecho "Usage: $(basename $0) {bits}"echoecho "Example: $(basename $0) 128"}if [ $# -eq 0 ] ; thendoHelpexitfibytes=0bitCheck=$(($1 % 8))if [ $bitCheck -eq 0 ]; thenbytes=$(($1 / 8))cat /dev/urandom | head -c 2048 | od -x | cut -b 8-40 | xargs | sed 's/ //g' | head -c ${bytes}echoelseechoecho "$1 not divisable by 8"echofi
This talk will demonstrate what everyone has long feared but never proven: there are hardware backdoors in some x86 processors, and they're buried deeper than we ever imagined possible. While this research specifically examines a third-party processor, we use this as a stepping stone to explore the feasibility of more widespread hardware backdoors.
A processor is not a trusted black box for running code; on the contrary, modern x86 chips are packed full of secret instructions and hardware bugs. In this talk, we'll demonstrate how page fault analysis and some creative processor fuzzing can be used to exhaustively search the x86 instruction set and uncover the secrets buried in your chipset.
It is a high-level statement (plan or framework) addressing security requirements and objectives. It may address an entire organization or be specific to an issue or system.
It is a type of governance in that it expresses the security framework established by management. It is the primary method by which an organization sets expectations for a variety of topics.
Disclaimer: this is not my work, it is reproduced from an article posted to Peerlyst. The original work, which provides more detail, is here and was created by @rootsecdev
"Did you also input your token from your authentication app?"
"Why, no. I did not. How do I do that?"
"Enter the password, then follow the password with the authenticator passcode."So I did just that, and presto: I was authenticated into the system. Pretty neat. Until you think about how it could be broken.
$ mkdir .my_hidden_dir
$ touch .my_hidden_dir/my_file
$ chown -R user:group .my_hidden_dir
$ chmod u=rwx,go-rwx .my_hidden_dir
$ chmod u=rw,go-rwx .my_hidden_dir/my_file
As an attacker, I can access a user's account and transfer funds to other accounts for the purpose of stealing money.
As an attacker, I cannot steal money by accessing a user's account and transfer money to other accounts.Just as in the use case, the abuse case causes an attentive developer and tester to ask questions:


We have also found that certification criteria used in Flight Readiness Reviews often develop a gradually decreasing strictness. The argument that the same risk was flown before without failure is often accepted as an argument for the safety of accepting it again. Because of this, obvious weaknesses are accepted again and again, sometimes without a sufficiently serious attempt to remedy them, or to delay a flight because of their continued presence.(Rogers Commission, STS-51-L)This is not to say we do not implement controls in the environment the system is deployed to provide safety and security. Instead, those controls cannot account for or reverse bad planning, design, or implementation.
$ find . -name bin -type d -exec echo {} \;That command will find all directories called 'bin' and print them, as follows:
./.cpan/build/Crypt-RC4-2.02-ptGTQ1/blib/binThe -exec switch is not necessary: it's provided here only as an example.
./.cpan/build/Digest-Perl-MD5-1.9-Uenq6s/blib/bin
./.cpan/build/ExtUtils-MakeMaker-7.04-yzvWOc/bin
$ find2perl . -name bin -type d -exec echo {} \; > myFindScript.pl
#! /usr/bin/perl -w
eval 'exec /usr/bin/perl -S $0 ${1+"$@"}'
if 0; #$running_under_some_shell
use strict;
use File::Find ();
# Set the variable $File::Find::dont_use_nlink if you're using AFS,
# since AFS cheats.
# for the convenience of &wanted calls, including -eval statements:
use vars qw/*name *dir *prune/;
*name = *File::Find::name;
*dir = *File::Find::dir;
*prune = *File::Find::prune;
sub wanted;
sub doexec ($@);
use Cwd ();
my $cwd = Cwd::cwd();
# Traverse desired filesystems
File::Find::find({wanted => \&wanted}, '.');
exit;
sub wanted {
my ($dev,$ino,$mode,$nlink,$uid,$gid);
/^bin\z/s &&
(($dev,$ino,$mode,$nlink,$uid,$gid) = lstat($_)) &&
-d _ &&
doexec(0, 'echo','{}');
}
sub doexec ($@) {
my $ok = shift;
my @command = @_; # copy so we don't try to s/// aliases to constants
for my $word (@command)
{ $word =~ s#{}#$name#g }
if ($ok) {
my $old = select(STDOUT);
$| = 1;
print "@command";
select($old);
return 0 unless <STDIN> =~ /^y/;
}
chdir $cwd; #sigh
system @command;
chdir $File::Find::dir;
return !$?;
}