Routing restoration relocation & language auto fix.

Moved the routes restoring code & forwarding to the proper unset function.
Refactored some code in set_lang. that should only happen when auto is off.
This commit is contained in:
Matias Barcenas 2017-08-11 03:29:47 -05:00
parent 2602de8738
commit f4ad6b8531
2 changed files with 44 additions and 21 deletions

View File

@ -753,6 +753,24 @@ function captive_portal_generic() {
</html>" > "$FLUXIONWorkspacePath/captive_portal/index.html" </html>" > "$FLUXIONWorkspacePath/captive_portal/index.html"
} }
function captive_portal_unset_routes() {
if [ -f "$FLUXIONWorkspacePath/iptables-rules" ];then
iptables-restore < "$FLUXIONWorkspacePath/iptables-rules" &> $FLUXIONOutputDevice
sandbox_remove_workfile "$FLUXIONWorkspacePath/iptables-rules"
else
iptables --flush
iptables --table nat --flush
iptables --delete-chain
iptables --table nat --delete-chain
fi
# Restore system's original forwarding state
if [ -f "$FLUXIONWorkspacePath/ip_forward" ]; then
sysctl -w net.ipv4.ip_forward=$(cat "$FLUXIONWorkspacePath/ip_forward") &> $FLUXIONOutputDevice
sandbox_remove_workfile "$FLUXIONWorkspacePath/ip_forward"
fi
}
# Set up DHCP / WEB server # Set up DHCP / WEB server
# Set up DHCP / WEB server # Set up DHCP / WEB server
function captive_portal_set_routes() { function captive_portal_set_routes() {
@ -762,9 +780,14 @@ function captive_portal_set_routes() {
# Add a route to the virtual gateway interface. # Add a route to the virtual gateway interface.
route add -net $VIGWNetwork.0 netmask 255.255.255.0 gw $VIGWAddress route add -net $VIGWNetwork.0 netmask 255.255.255.0 gw $VIGWAddress
# Save the system's routing state to restore later.
cp "/proc/sys/net/ipv4/ip_forward" "$FLUXIONWorkspacePath/ip_forward"
# Activate system IPV4 packet routing/forwarding. # Activate system IPV4 packet routing/forwarding.
sysctl -w net.ipv4.ip_forward=1 &>$FLUXIONOutputDevice sysctl -w net.ipv4.ip_forward=1 &>$FLUXIONOutputDevice
iptables-save > "$FLUXIONWorkspacePath/iptables-rules"
iptables --flush iptables --flush
iptables --table nat --flush iptables --table nat --flush
iptables --delete-chain iptables --delete-chain
@ -836,6 +859,8 @@ function stop_attack() {
kill $FLUXIONDHCP &> $FLUXIONOutputDevice kill $FLUXIONDHCP &> $FLUXIONOutputDevice
fi fi
captive_portal_unset_routes
ap_stop ap_stop
} }

View File

@ -99,20 +99,20 @@ function exitmode() {
airmon-ng stop $WIMonitor &> $FLUXIONOutputDevice airmon-ng stop $WIMonitor &> $FLUXIONOutputDevice
fi fi
if [ "`cat /proc/sys/net/ipv4/ip_forward`" != "0" ]; then #if [ "`cat /proc/sys/net/ipv4/ip_forward`" != "0" ]; then
echo -e "$CWht[$CRed-$CWht] $FLUXIONDisablingPacketForwardingNotice$CClr" # echo -e "$CWht[$CRed-$CWht] $FLUXIONDisablingPacketForwardingNotice$CClr"
sysctl -w net.ipv4.ip_forward=0 &> $FLUXIONOutputDevice # sysctl -w net.ipv4.ip_forward=0 &> $FLUXIONOutputDevice
fi #fi
echo -e "$CWht[$CRed-$CWht] $FLUXIONDisablingCleaningIPTablesNotice$CClr" #echo -e "$CWht[$CRed-$CWht] $FLUXIONDisablingCleaningIPTablesNotice$CClr"
if [ ! -f "$FLUXIONWorkspacePath/iptables-rules" ];then #if [ ! -f "$FLUXIONWorkspacePath/iptables-rules" ];then
iptables --flush # iptables --flush
iptables --table nat --flush # iptables --table nat --flush
iptables --delete-chain # iptables --delete-chain
iptables --table nat --delete-chain # iptables --table nat --delete-chain
else #else
iptables-restore < "$FLUXIONWorkspacePath/iptables-rules" # iptables-restore < "$FLUXIONWorkspacePath/iptables-rules"
fi #fi
echo -e "$CWht[$CRed-$CWht] $FLUXIONRestoringTputNotice$CClr" echo -e "$CWht[$CRed-$CWht] $FLUXIONRestoringTputNotice$CClr"
tput cnorm tput cnorm
@ -413,19 +413,17 @@ function set_resolution() {
} }
function set_language() { function set_language() {
iptables-save > "$FLUXIONWorkspacePath/iptables-rules"
local languages=(language/*.lang)
languages=(${languages[@]/language\//})
languages=(${languages[@]/.lang/})
if [ ! $FLUXIONAuto ]; then if [ ! $FLUXIONAuto ]; then
local languages=(language/*.lang)
languages=(${languages[@]/language\//})
languages=(${languages[@]/.lang/})
io_query_choice "Select your language" languages[@] io_query_choice "Select your language" languages[@]
source "$FLUXIONPath/language/$IOQueryChoice.lang" source "$FLUXIONPath/language/$IOQueryChoice.lang"
fi
echo echo
fi
} }