Security Professionals - ipfw add deny all from eindgebruikers to any

PHP of Java

16-05-2020, 15:32 door Anoniem, 13 reacties
Ik wil mij (om)scholen tot (backend) developer, en nu heb ik wat gegoogled en kom ik met name veel zaken over PHP en Java tegen. Uiteraard wil ik ook wel direct veilig leren programmeren, heeft iemand hier nog een voor/tegen voor een van
beide talen?

En kent iemand ook goede online learning tutorials waarbij het ook echt gaat of VEILIG programmeren?
Reacties (13)
16-05-2020, 15:38 door [Account Verwijderd] - Bijgewerkt: 16-05-2020, 15:40
Als het gaat om back-end dan zou ik ook Go van Google zeker proberen omdat deze taal verreweg het simpelst is. http://golang.org alhoewel php an sich ook heel simpel is, alleen wat ze fout deden dat was de koppeling met HTML. Dus zie je overal PHP code in HTML (behalve bij complexe omgevingen zoals Zend).
16-05-2020, 15:39 door Anoniem
Door donderslag: Als het gaat om back-end dan zou ik ook Go van Google zeker proberen omdat deze taal verreweg het simpelst is. http://golang.org

Ik had al van Go gehoord maar leg nu pas de link met GOogle :) Maar bedankt, ik ga ook naar GO kijken.
16-05-2020, 16:23 door Anoniem
Python!

PHP is aardig uit de gratie aan het raken, Java is al jaren een gedrocht qua beheer.
Het hierboven genoemde GO is leuk, maar (naar mijn mening) slecht werkbaar doordat je snel in een library versie hel terechtkomt, buiten google is de ondersteuning ook matig.

Python, v3 is makkelijk te leren en wordt breed gedragen.
Makkelijk in containers, cloudfunctions (AWS Lambda en dergelijke) en ook native goed te draaien.
Is tegenwoordig ook een certificering voor om aan te tonen dat je het snapt.
16-05-2020, 17:26 door [Account Verwijderd]
Door Anoniem: Python!

PHP is aardig uit de gratie aan het raken, Java is al jaren een gedrocht qua beheer.
Het hierboven genoemde GO is leuk, maar (naar mijn mening) slecht werkbaar doordat je snel in een library versie hel terechtkomt, buiten google is de ondersteuning ook matig.

Python, v3 is makkelijk te leren en wordt breed gedragen.
Makkelijk in containers, cloudfunctions (AWS Lambda en dergelijke) en ook native goed te draaien.
Is tegenwoordig ook een certificering voor om aan te tonen dat je het snapt.
Versie hel in Go? Hoeveel libs gebruik jij dan? (advies: gebruik zo min mogelijk libs en als je moet, gebruik dan niet het updaten van een lib). Zoals ik al zei, er is zeer weinig mis met Go, en dat geldt ook voor het lib beheer.
17-05-2020, 01:25 door Anoniem
Join hier: https://glitch.com/ op Gandi SAS en Amazon-AES.
web apps bouwen binnen je browser.

luntrus
17-05-2020, 09:59 door The FOSS - Bijgewerkt: 17-05-2020, 10:44
...
17-05-2020, 10:43 door The FOSS - Bijgewerkt: 17-05-2020, 10:44
Door Anoniem: Python!

Is 300 tot 500 % trarger dan Java. Over Java vs. Go: https://careerkarma.com/blog/go-vs-java/.
PHP is traag en een taal voor hobbyisten heb ik op security.nl gelezen.

Door Anoniem: Join hier: https://glitch.com/ op Gandi SAS en Amazon-AES.
web apps bouwen binnen je browser.

luntrus

https://glitch.com/~wealthy-groovy-croissant
17-05-2020, 13:56 door Anoniem
Hoi The FOSS,

Leuk even de link bezocht - inline script
var analytics = window.analytics = window.analytics || [];
if (!analytics.initialize)
if (analytics.invoked) window.console && console.error && console.error("Segment snippet included twice.");
else {
analytics.invoked = !0;
analytics.methods = ["trackSubmit", "trackClick", "trackLink", "trackForm", "pageview", "identify", "reset", "group", "track", "ready", "alias", "debug", "page", "once", "off", "on"];
analytics.factory = function(t) {
return function() {
var e = Array.prototype.slice.call(arguments);
e.unshift(t);
analytics.push(e);
return analytics
}
};
for (var t = 0; t < analytics.methods.length; t++) {
var e = analytics.methods[t];
analytics[e] = analytics.factory(e)
}
analytics.load = function(t, e) {
var n = document.createElement("script");
n.type = "text/javascript";
n.async = !0;
n.src = "https://cdn.segment.com/analytics.js/v1/" + t + "/analytics.min.js";
var a = document.getElementsByTagName("script")[0];
a.parentNode.insertBefore(n, a);
analytics._loadOptions = e
};
analytics.SNIPPET_VERSION = "4.1.0";
}
Leuke manier om elkander in deze barre corona-tijden even virtueel te ontmoeten.
Al doende leren we allemaal en groeien we door op elkanders schouders te staan.
Dat je nog heel wat Dark Vaders mag verslaan, is de wens van

luntrus
17-05-2020, 14:08 door Anoniem
Maar vergeet ook onderhand niet steeds hier op te letten, security, begrijp je?
https://rules.emergingthreats.net/

luntrus
17-05-2020, 20:12 door The FOSS
Door Anoniem: Hoi The FOSS,

Leuk even de link bezocht - inline script
[inline script...]
Leuke manier om elkander in deze barre corona-tijden even virtueel te ontmoeten.
Al doende leren we allemaal en groeien we door op elkanders schouders te staan.
Dat je nog heel wat Dark Vaders mag verslaan, is de wens van

luntrus

Hi luntrus,

Zag je de pop up met "luntrus was here."? De code hierboven zal hun wrapper zijn; met het
var a = document.getElementsByTagName("script")[0];
zal de projectcode wel worden geladen (?).

In dit voorbeeld stond daarin:
alert("luntrus was here.");
17-05-2020, 20:35 door Anoniem
Je kan niet zomaar even leren "veilig backends ontwikkelen".

Dus ik splits je vraag in twee. Ten eerste, leer programmeren. Ten tweede, leer hoe je (website-)backends bouwt en waar je daarbij op de veiligheid moet letten. Om "veilig" te kunnen programmeren moet je weten wat je doet en moet je ook snappen hoe er misbruik van je code gemaakt kan worden.

Dus het is wel zaak dat je begint bij de basis, en dat is goed genoeg leren programmeren dat een nieuwe taal erbij leren niet zo gek veel moeite is. Daarmee is de "doe ik java of doe ik php?" vraag eigenlijk niet meer relevant. Kijk bijvoorbeeld eens bij codingbat.com, en doe de oefeningen in zowel java als python.

Daarna duik je in misbruik, dus bijvoorbeeld hoe cross-site-scripting, SQL-injection, maar ook een simpele buffer overflow werken, en hoe je je daartegen verdedigt.

En dan duik je zelf in de voors en tegens van verschillende programmeertalen zodat je weet voor welke doeleinden ze geschikt zijn en voor welke doeleinden toch minder geschikt. Zoektermen: "Execution in the Kingdom of Nouns" en "A Fractal of Bad Design".
18-05-2020, 00:05 door Anoniem
Wat PHP betreft kun je je een beeld vormen, door eens bij https://urlscan.io/ naar wat websites te zoeken, die PHP draaien (op de achterliggende webserver). (Dit kan natuurlijk ook via shodan.io.) en dan bijvoorbeeld met de Vulner's web scanner extensie eens te kijken waar onveilige PHP code uithangt/draait. Shodan geeft hele overzichten van kwetsbaarheden door gebruik van verouderde PHP versies.

Ik draai zoiets samen met de Web Sniffer extensie en Quick Source viewer extensie en Web Developer extensie. Samen met Ctrl+Shift+I kun je dan al aardig vooruit. Zoek de script errors, scan DOM-XSS sources & sinks. Later kun je je eigen YARA regels gaan schrijven of werken met SNORT en SNYK. Kijk eens voor jQuery hier: https://domstorm.skepticfx.com/modules?id=53990c76fd987e64ab000002

PHP en bijvoorbeeld JavaScript maar ook jQuery kunnen ware wormendozen zijn en als je niet goed werkt, gaan er wel een paar doosjes van Pandora bij open ook. Vergelijk ook de verwachte en de eigenlijke aflooptijd van script, dat geeft ook wel wat indicaties. Zoek eens op SQli bugs en name-shells in het raam van PHP code manipulatie. Veiligheid in dit verband is leren denken hoe een aanvaller mogelijk denkt en dus verhinderen dat men code onvoorziene dingen kan laten doen, het principe van elke hack en compromittatie. Alles blijkt later een een kwestie van ervaring door veel doen.

Je moet het code-gras als het ware kunnen horen groeien, als de woudloper die het oor op de bodem legt en weet wat hem wacht. En blijf zeer rechtlijnig beta-denken.

luntrus
18-05-2020, 00:28 door Anoniem
Op glitch.me zitten echter ook malcreanten. Getuige dit adres: https://sitereport.netcraft.com/?url=https://equinox-clear-soda.glitch.me. (7 rood uit een score van maximaal 10) en vervolgens op het IP adres daar:
https://www.virustotal.com/gui/ip-address/34.228.120.225/relations

Voorzichtigheid is derhalve de moeder van de porceleinkast.

luntrus
Reageren

Deze posting is gelocked. Reageren is niet meer mogelijk.