Need to understand the security flaw?

I am creating a database of encrypted value.


Let us say I store “John” which would be encrypted and stored as “Yoky”.

John | Yoky 

Now I store “Johnny” which would be encrypted and store as “Koaddy”

John   | Yoky  Johnny | Koaddy 

Now with the above storage I will not get any kind of regex search functionality. If I wanted to search “Jo%” it will not work.

But what if I store the values after breaking them. as

Jo      |   Yoky , Koaddy Joh     |   Yoky , Koaddy John    |   Yoky , Koaddy Johnn   |   Koaddy Johnny  |   Koaddy 

Here the regex searches will work “Jo%”,”Joh%” both will give Yoky and Koaddy, which is what I want.

I can see the obvious security flaw above that anyone can map out Jo,Joh.

So I have decided to store the encryption of these.


I will AES encrypt my stubs and store them.

qkjklewr!j==      |   Yoky , Koaddy klkadsopos==      |   Yoky , Koaddy oensd%21op==      |   Yoky , Koaddy kaknvp23b02==     |   Koaddy kashdi2094j==     |   Koaddy 

While performing any type of search say, “Joh”, I will first encrypt “Joh” then perform the search, therefore it will map to the AES encrypted value of “Joh”,i.e,klkadsopos==


Note : Both the column will use different keys and algorithms to protect the data.


Note : This storage will be TDE encrypted. HDFS will be encrypted and I will be using Apache Solr for the rest.

I need to understand if I am missing something fundamental here.

Need to understand the security flaw?

I am creating a database of encrypted value.


Let us say I store “John” which would be encrypted and stored as “Yoky”.

John | Yoky 

Now I store “Johnny” which would be encrypted and store as “Koaddy”

John   | Yoky  Johnny | Koaddy 

Now with the above storage I will not get any kind of regex search functionality. If I wanted to search “Jo%” it will not work.

But what if I store the values after breaking them. as

Jo      |   Yoky , Koaddy Joh     |   Yoky , Koaddy John    |   Yoky , Koaddy Johnn   |   Koaddy Johnny  |   Koaddy 

Here the regex searches will work “Jo%”,”Joh%” both will give Yoky and Koaddy, which is what I want.

I can see the obvious security flaw above that anyone can map out Jo,Joh.

So I have decided to store the encryption of these.


I will AES encrypt my stubs and store them.

qkjklewr!j==      |   Yoky , Koaddy klkadsopos==      |   Yoky , Koaddy oensd%21op==      |   Yoky , Koaddy kaknvp23b02==     |   Koaddy kashdi2094j==     |   Koaddy 

While performing any type of search say, “Joh”, I will first encrypt “Joh” then perform the search, therefore it will map to the AES encrypted value of “Joh”,i.e,klkadsopos==


Note : Both the column will use different keys and algorithms to protect the data.


Note : This storage will be TDE encrypted.

I need to understand if I am missing something fundamental here.

I got an HCI assignment from my lecturer, and I don’t understand it

There were two assignments I’d got. The another one I could do it, but not this one( which is shown on this post). I don’t know how to give the examples for the description in the assignment by applying those 2 things( the cognitive in a reaction time task and the findings of 7(+2)) given from it. Could anyone give me for some hints or solutions? I’ve searched the information on the Google to make an apply for the answer, but it still didn’t make any sense for me. enter image description here

How can I understand the multi-class version of “shattering” intuitively?

I’m learning machine learning. VC dimension is a good way to measure the complexity of hypothesis class for binary classifier and has a very good intuitive explanation from shattering.

I know that both dimensions are based on the “shattering” concept.

When we discuss VC-dimension, shattering means $ H$ have all the behaviors on a set of size less than $ VCdim(H)$ . That is:

Let $ C=(c_1,\dots,c_d)$ be a shattered set by $ H$ . Denote the restriction of $ H$ to $ C$ by $ H_c$ . $ $ H_c = \{(h(c_1),\dots,h(c_d)):h\in H\}$ $ Then $ $ |H_c| = 2^d$ $ However, according to the definition of shattering on Page 403 of the book “Understanding Machine Learning: from theory to algorithms”(You can click the link to download the book.), the multiclass version of “shattering” is as follows:

We say a that a set $ C\subset X$ is shattered by $ H$ if there exist 2 functions $ f_0$ , $ f_1: C\to [k]$ such that

  • for every $ x\in C$ , $ f_0(x) \ne f_1(x)$ .

  • for every $ B\subset C$ , there exists a function $ h\in H$ such that

$ $ \forall x\in B, h(x)=f_0(x)\ and\ \forall x\in C \backslash B, h(x) = f_1(x)$ $

Here, $ H$ does not have all the behaviors on a set of size less than the Nagarajan dimension. That is,

$ $ |H_c| \ne k^d$ $ when $ k>2$ .

How do you understand the definition of the multiclass version of shattering, especially this point?

Does casting Tongues on the tarrasque (a language-less monstrosity) let it understand language?

Tongues description:

This spell grants the creature you touch the ability to understand any spoken language it hears. Moreover, when the target speaks, any creature that knows at least one language and can hear the target understands what it says.

It specifies that creatures hearing the target must speak at least one language, but does not specify that the target must. To me that seems like an exception that proves the rule, so I think Tongues can effectively be used like Speak With Animals, but on any one creature at a time (instead of all beasts).

Does that ruling seem consistent with other rules related to creatures that understand no languages?

This specifically came up because I’m planning a RAW-as-possible level 20 fight against the legendary tarrasque, and one of my players suggested they should cast tongues on it.


Related, but doesn’t address Tongues spell: Do either Speak with Animals or Awakened Mind let me use Command on animals?

seDebugPrivilege and OpenProcess() – Trying to understand how Windows restricts access to a process’ virtual memory

I’ve been trying to understand how operating systems protect processes from each other. My understanding of Windows security is that a process can call OpenProcess() (thereby allowing read and write access to the virtual memory of another process) as long as it has seDebugPrivilege and an integrity level at least as high as that of the other process.

It also looks as if a process can call OpenProcess() without seDebugPrivilege when targeting a process that belongs to the same user.

FYI: my testing to confirm this was done on a Win2008 R2 server. My method for testing whether a process could write to another process was using Meterpreter’s migrate function, which (among other things) makes an OpenProcess() call to a target process to create a Meterpreter thread inside of it.

My questions:

  1. Are the statements above correct, or have I screwed up my testing somewhere?
  2. What are the specific criteria that need to be met for an OpenProcess call to work? At the moment, it looks like it’s:

    • has correct integrity level
    • has seDebugPrivilege OR has same SID as the other process
  3. If this is true, isn’t there a crazy amount of information an attacker can read or tamper from a computer they’ve compromised but don’t have root access to?

  4. What is the Unix equivalent of this? By default, can all of a user’s processes read and write to each other? Is this true for root too?

Nandgame–I am not sure I understand the Data Flip-Flop specifications

Nandgame (nandgame.com) has you solve puzzles of increasing complexity which culminate in constructing a simple CPU. You start at the level of nand gates, and build everything else up out of those.

I’m having trouble understanding the specifications for the Data Flip-Flop puzzle. If I’m reading it correctly, when the “clock” bit changes from zero to one, the storage device should send its value to output, but while the “clock” bit remains either one or zero, nothing should change the output value.

What I’m stuck on is this idea of having output change when and only when the clock changes from zero to one I can’t see a way to do that which doesn’t allow the output to change any time the clock bit is equal to one (or trivially, equal to zero if I thrown an inverter on it fsr). But that results in a failure when I submit such solutions.

Could I just be reading the specifications incorrectly somehow?

Here is a transcription of the specification:

A DFF (Data Flip-Flop) component stores and outputs a bit, but only change the output when the clock signal change from 0 to 1.

When st (store) is 1 and cl (clock signal) is 0 the value on d is stored. But the previous value is still emitted.

When the clock signal changes to 1, the flip-flop starts emitting the new value.

When st is 0, the value of d does not have any effect.

When cl is 1, the value of st and d does not have any effect.

Trying to understand the point of this scam email

I was reviewing my spam folder and spotted this: Finally! My AdultSexMeet confirmation is here!

People are going to have one of two reactions:

  • Hooray! Free porn! Confirm, confirm, confirm! OR
  • OMG! I didn’t sign up for porn! Now everyone can see my profile! I’m so embarrassed! Close, close, close!

I inspected the buttons and links in the email and they are all <a> with mailto in the href with multiple addresses in the mailto. Many, many addresses. All different like backpackersworld.com and tasmaniatours.com.au and yandex.ru.

Screenshot of HTML structure of link

I have seen this methodology in a few emails now that I’m looking for it.

I’m trying to understand the point of this attack. Are they trying to harvest email address confirmations? My email address has been in countless breaches because “the internet”. It’s not a state secret. Seems a lot of effort to go to for something that is public knowledge.

I’m not sure what to warn my users about. “Don’t click suspicious links ever. If you click this type it will expose your email address… er… some more.”

What am I missing?