Contents

Intervjuavsnitt #12 - Mathias "Avlidienbrunn" Karlsson

Lyssna

mp3

Innehåll

Detta är det tolfte intervjuavsnittet av Säkerhetspodcasten, i vilket Jesper och Peter intervjuar Mathias “Avlidienbrunn” Karlsson. Det snackas säkerhet i webramverk, framförallt Angular JS, och klientsäkerhet i allmänhet.

Länkar

AI transkribering

AI försöker förstå oss… Ha överseende med galna feltranskriberingar.

1 00:00:00,000 --> 00:00:02,000 Nu Mattias!

2 00:00:02,000 --> 00:00:04,000 Ska vi köra igång eller?

3 00:00:04,000 --> 00:00:06,000 Ja jag tryckte på rekord

4 00:00:06,000 --> 00:00:08,000 Nice!

5 00:00:08,000 --> 00:00:10,000 Då var vi tillbaka igen

6 00:00:10,000 --> 00:00:12,000 Eller det kan vi inte säga

7 00:00:12,000 --> 00:00:14,000 Bröstdjur alltså

8 00:00:14,000 --> 00:00:16,000 Precis

9 00:00:16,000 --> 00:00:18,000 Vi har sett en del bröstdjur och nu tänkte vi

10 00:00:18,000 --> 00:00:20,000 Vi skulle börja med en sjukt

11 00:00:20,000 --> 00:00:22,000 Elaborate XSS

12 00:00:22,000 --> 00:00:24,000 Okej Peter

13 00:00:24,000 --> 00:00:26,000 Vi kan börja här med

14 00:00:26,000 --> 00:00:28,000 Vi har träffat Mr. Avdiden i en brunn

15 00:00:28,000 --> 00:00:30,000 Det är ett väldigt roligt härdel

16 00:00:30,000 --> 00:00:32,000 Tack och för övrigt är det avlid i en brunn

17 00:00:32,000 --> 00:00:34,000 Inte avlid än i en brunn

18 00:00:34,000 --> 00:00:36,000 Avlid i en brunn

19 00:00:36,000 --> 00:00:38,000 Det är ett viktigt detalj

20 00:00:38,000 --> 00:00:40,000 Men det låter ju negativt faktiskt

21 00:00:40,000 --> 00:00:42,000 För det andra är mer en konstatering

22 00:00:42,000 --> 00:00:44,000 Det andra är lite som att

23 00:00:44,000 --> 00:00:46,000 Du uppmanar folk till att dö i en brunn

24 00:00:46,000 --> 00:00:48,000 Ja

25 00:00:48,000 --> 00:00:50,000 Om de är jobbiga jävlar så tycker jag att de kan göra det

26 00:00:50,000 --> 00:00:52,000 Okej

27 00:00:52,000 --> 00:00:54,000 Har du ett namn?

28 00:00:54,000 --> 00:00:56,000 Mitt riktiga namn då är Mattias Karlsson

29 00:00:56,000 --> 00:00:58,000 Men det var så jäkla vanligt

30 00:00:58,000 --> 00:01:00,000 Så tänkte jag att vi kör avlid i en brunn

31 00:01:00,000 --> 00:01:02,000 Det är mindre vanligt

32 00:01:02,000 --> 00:01:04,000 Vi får göra lite empiriska studier

33 00:01:04,000 --> 00:01:06,000 På hur många som avlider i en brunn

34 00:01:06,000 --> 00:01:08,000 Det är mer en uppmaning

35 00:01:08,000 --> 00:01:10,000 Ja precis

36 00:01:10,000 --> 00:01:12,000 Berätta mer om din bakgrund

37 00:01:12,000 --> 00:01:14,000 Vad gör du? Varför gör du sönder

38 00:01:14,000 --> 00:01:16,000 AngularJS?

39 00:01:16,000 --> 00:01:18,000 Jag tycker det är kul

40 00:01:18,000 --> 00:01:20,000 Jag har hållit på med webbsäkerhet

41 00:01:20,000 --> 00:01:22,000 Bra jäkla orsak

42 00:01:22,000 --> 00:01:24,000 Jag har hållit på med webbsäkerhet

43 00:01:24,000 --> 00:01:26,000 Och specifik kläntsäkerhet

44 00:01:26,000 --> 00:01:28,000 I åtminstone

45 00:01:28,000 --> 00:01:30,000 Fem år

46 00:01:30,000 --> 00:01:32,000 Och på sistone så har jag kollat in i

47 00:01:32,000 --> 00:01:34,000 Framework säkerhet

48 00:01:34,000 --> 00:01:36,000 För det är ju det nyaste coolaste bland hipster programmerare

49 00:01:36,000 --> 00:01:38,000 Så jag tänkte att det måste vi

50 00:01:38,000 --> 00:01:40,000 Säkerhetsdudes

51 00:01:40,000 --> 00:01:42,000 Kolla på att ha sönder

52 00:01:42,000 --> 00:01:44,000 Det är en bra ställe att börja på

53 00:01:44,000 --> 00:01:46,000 Skitkul

54 00:01:46,000 --> 00:01:48,000 Så vad är

55 00:01:48,000 --> 00:01:50,000 Två minuters pitchen för vad AngularJS är?

56 00:01:50,000 --> 00:01:52,000 AngularJS

57 00:01:52,000 --> 00:01:54,000 Är ett JavaScript framework

58 00:01:54,000 --> 00:01:56,000 Som ska hjälpa utvecklare

59 00:01:56,000 --> 00:01:58,000 Att bygga one page appar

60 00:01:58,000 --> 00:02:00,000 Så du inkluderar

61 00:02:00,000 --> 00:02:02,000 Ett JavaScript på din sida

62 00:02:02,000 --> 00:02:04,000 Sen får du en massa nya coola HTML features

63 00:02:04,000 --> 00:02:06,000 Så du kan lägga på ett

64 00:02:06,000 --> 00:02:08,000 HTML-attribut

65 00:02:08,000 --> 00:02:10,000 Och sen så gör det en massa magiska saker

66 00:02:10,000 --> 00:02:12,000 Och så finns det de här

67 00:02:12,000 --> 00:02:14,000 Templates också

68 00:02:14,000 --> 00:02:16,000 Så skriver du de här curly brackets

69 00:02:16,000 --> 00:02:18,000 Och sen expression

70 00:02:18,000 --> 00:02:20,000 Så kommer den evaluera det on runtime

71 00:02:20,000 --> 00:02:22,000 Och så kommer allt funka jättefint

72 00:02:22,000 --> 00:02:24,000 Det är Angular

73 00:02:24,000 --> 00:02:26,000 Och där lyckades du gärna

74 00:02:26,000 --> 00:02:28,000 Sånna här underbara magi

75 00:02:28,000 --> 00:02:30,000 Som JavaScript-nördar lyckades med

76 00:02:30,000 --> 00:02:32,000 Ja alltså

77 00:02:32,000 --> 00:02:34,000 Det ultimata målet

78 00:02:34,000 --> 00:02:36,000 För oss client-side dudes

79 00:02:36,000 --> 00:02:38,000 Är ju att få den här alert1

80 00:02:38,000 --> 00:02:40,000 Och det var jäkligt bökigt

81 00:02:40,000 --> 00:02:42,000 Men till slut så lyckades jag få den

82 00:02:42,000 --> 00:02:44,000 Genom de här

83 00:02:44,000 --> 00:02:46,000 De här template expressions

84 00:02:46,000 --> 00:02:48,000 Som det kallas

85 00:02:48,000 --> 00:02:50,000 Och som de funkar är att

86 00:02:50,000 --> 00:02:52,000 AngularJS går igenom var de står

87 00:02:52,000 --> 00:02:54,000 Inom de här curly brackets

88 00:02:54,000 --> 00:02:56,000 Och sen så kollar den

89 00:02:56,000 --> 00:02:58,000 Om vi skriver in någon farlig JavaScript-kod

90 00:02:58,000 --> 00:03:00,000 Ja eller nej

91 00:03:00,000 --> 00:03:02,000 Och om nej så exekverar vi det

92 00:03:02,000 --> 00:03:04,000 Men jag lyckades få in skadlig JavaScript-kod

93 00:03:04,000 --> 00:03:06,000 Utan

94 00:03:06,000 --> 00:03:08,000 Att den sa att det var farligt

95 00:03:08,000 --> 00:03:10,000 Så den typ filtrerar

96 00:03:10,000 --> 00:03:12,000 Så att man bara får pilla på

97 00:03:12,000 --> 00:03:14,000 De ofarliga sakerna inom sina brackets

98 00:03:14,000 --> 00:03:16,000 Ja precis så

99 00:03:16,000 --> 00:03:18,000 Och du fixar så att man kan pilla på farliga saker

100 00:03:18,000 --> 00:03:20,000 Ja jag poängterade ju till

101 00:03:20,000 --> 00:03:22,000 Angular-utvecklarna att man kan

102 00:03:22,000 --> 00:03:24,000 Exekvera JavaScript på

103 00:03:24,000 --> 00:03:26,000 Stremt konstiga sätt

104 00:03:26,000 --> 00:03:28,000 Och ett av de konstiga sätten använder jag då

105 00:03:28,000 --> 00:03:30,000 För att komma förbi det här

106 00:03:30,000 --> 00:03:32,000 Skyddet eller sandbox som det kallas

107 00:03:32,000 --> 00:03:34,000 Och det är där vi börjar komma in på

108 00:03:34,000 --> 00:03:36,000 Arraysorteringar

109 00:03:36,000 --> 00:03:38,000 Skriva

110 00:03:38,000 --> 00:03:40,000 Alert i en array

111 00:03:40,000 --> 00:03:42,000 Och

112 00:03:42,000 --> 00:03:44,000 Pilla med prototype

113 00:03:44,000 --> 00:03:46,000 Och hela kitet

114 00:03:46,000 --> 00:03:48,000 Och sen så faller det ihop

115 00:03:48,000 --> 00:03:50,000 Och liksom funkar

116 00:03:50,000 --> 00:03:52,000 Och så sker det dumheter

117 00:03:52,000 --> 00:03:54,000 Hur många timmar

118 00:03:54,000 --> 00:03:56,000 Ligger bakom det här

119 00:03:56,000 --> 00:03:58,000 Alltså min

120 00:03:58,000 --> 00:04:00,000 Min

121 00:04:00,000 --> 00:04:02,000 Sen när du bestämde dig

122 00:04:02,000 --> 00:04:04,000 Nu jäklar ska de åka på det

123 00:04:04,000 --> 00:04:06,000 Alltså min besatthet med JavaScript

124 00:04:06,000 --> 00:04:08,000 Har ju hållit på i flera år som sagt

125 00:04:08,000 --> 00:04:10,000 Men just Angular fick jag åka dit

126 00:04:10,000 --> 00:04:12,000 På grund av

127 00:04:12,000 --> 00:04:14,000 En kille som heter Mario Heidrich

128 00:04:14,000 --> 00:04:16,000 Eller Dot Mario kallar han sig

129 00:04:16,000 --> 00:04:18,000 Just det, Cure53

130 00:04:18,000 --> 00:04:20,000 Jajamensan han är ju väldigt känd i client-side JavaScript

131 00:04:20,000 --> 00:04:22,000 Herregud du är en jävla gud du

132 00:04:22,000 --> 00:04:24,000 Och så vidare, riktigt cool kille

133 00:04:24,000 --> 00:04:26,000 Och han sa till mig att

134 00:04:26,000 --> 00:04:28,000 There is probably no sandbox bypass left

135 00:04:30,000 --> 00:04:32,000 Så då var det ju bara såhär

136 00:04:32,000 --> 00:04:34,000 Challenge accepted

137 00:04:34,000 --> 00:04:36,000 Mycket om om två och en halv dag senare

138 00:04:36,000 --> 00:04:38,000 Så hade man ändå varit en ändå

139 00:04:38,000 --> 00:04:40,000 Men det är lite intressant

140 00:04:40,000 --> 00:04:42,000 För det säger ju också det

141 00:04:42,000 --> 00:04:44,000 Det handlar ju väldigt mycket om viljestyrka

142 00:04:44,000 --> 00:04:46,000 Och att hitta en ny infallsvinkel

143 00:04:46,000 --> 00:04:48,000 Herregud ja

144 00:04:48,000 --> 00:04:50,000 Det är liksom inte såhär att

145 00:04:50,000 --> 00:04:52,000 Jobba liksom tre månader

146 00:04:52,000 --> 00:04:54,000 Gör liksom ingen skillnad förmodligen

147 00:04:54,000 --> 00:04:56,000 Utan det är liksom mer

148 00:04:56,000 --> 00:04:58,000 Kombon av att hitta en ny infallsvinkel

149 00:04:58,000 --> 00:05:00,000 Och att

150 00:05:00,000 --> 00:05:02,000 Lite det här och vara förbannad

151 00:05:02,000 --> 00:05:04,000 Och man ska liksom göra något som de andra inte gör

152 00:05:04,000 --> 00:05:06,000 Ja helt rätt

153 00:05:06,000 --> 00:05:08,000 Grymt det är snyggt

154 00:05:08,000 --> 00:05:10,000 Väldigt snyggt

155 00:05:10,000 --> 00:05:12,000 Och det är väldigt bra presentationsteknik

156 00:05:12,000 --> 00:05:14,000 Man ser verkligen din glöd när du kör

157 00:05:14,000 --> 00:05:16,000 Det är sjukt bra

158 00:05:16,000 --> 00:05:18,000 Det gör jäkligt mycket för upplevelsen

159 00:05:18,000 --> 00:05:20,000 Det gör jättemycket när man ser att talaren tycker

160 00:05:20,000 --> 00:05:22,000 Det den talar om är intressant

161 00:05:22,000 --> 00:05:24,000 Vi stod och pratade om det innan

162 00:05:24,000 --> 00:05:26,000 Att fånga publiken

163 00:05:26,000 --> 00:05:28,000 Och få publiken att känna så

164 00:05:28,000 --> 00:05:30,000 För det ämne man själv har valt

165 00:05:30,000 --> 00:05:32,000 Många kommer ju till sådana här

166 00:05:32,000 --> 00:05:34,000 Jag menar

167 00:05:34,000 --> 00:05:36,000 Folk som kommer hit

168 00:05:36,000 --> 00:05:38,000 Flera av dem är absolut inte där för att

169 00:05:38,000 --> 00:05:40,000 Se en javascriptdragning

170 00:05:40,000 --> 00:05:42,000 Men det är just det liksom

171 00:05:42,000 --> 00:05:44,000 Få dit personligheten

172 00:05:44,000 --> 00:05:46,000 Få liksom förmedla

173 00:05:46,000 --> 00:05:48,000 Med kropp och ansiktsuttryck

174 00:05:48,000 --> 00:05:50,000 Det här är intressant

175 00:05:50,000 --> 00:05:52,000 Och då blir det spännande

176 00:05:52,000 --> 00:05:54,000 Brake stuffs

177 00:05:54,000 --> 00:05:56,000 Det är nice också

178 00:05:56,000 --> 00:05:58,000 Det är förmodligen det som är det roligaste

179 00:05:58,000 --> 00:06:00,000 Om man ska hålla det

180 00:06:00,000 --> 00:06:02,000 Vad gör du annars?

181 00:06:02,000 --> 00:06:04,000 När du inte

182 00:06:04,000 --> 00:06:06,000 Gör sönder

183 00:06:06,000 --> 00:06:08,000 AngularJS

184 00:06:08,000 --> 00:06:10,000 Du kan ju göra sönder andra saker också

185 00:06:10,000 --> 00:06:12,000 Men jobbwise

186 00:06:12,000 --> 00:06:14,000 Så jobbar jag halvtid på

187 00:06:14,000 --> 00:06:16,000 Centor

188 00:06:16,000 --> 00:06:18,000 Som är ett it-säkerhetsföretag i Stockholm

189 00:06:18,000 --> 00:06:20,000 Och halvtid så gör jag faktiskt

190 00:06:20,000 --> 00:06:22,000 Bug bounty just nu

191 00:06:22,000 --> 00:06:24,000 Så hackar

192 00:06:24,000 --> 00:06:26,000 Alla som har bug bounty program

193 00:06:26,000 --> 00:06:28,000 Så fipplar med det

194 00:06:28,000 --> 00:06:30,000 Det låter ju inte roligt

195 00:06:30,000 --> 00:06:32,000 Det känns som att det är rätt många av de yngre skadorna

196 00:06:32,000 --> 00:06:34,000 I it-säkerhetsintresse som har börjat ge sig på

197 00:06:34,000 --> 00:06:36,000 De här bug bounty programmen

198 00:06:36,000 --> 00:06:38,000 Jag funderar om det är noll kronor i bug bounty

199 00:06:38,000 --> 00:06:40,000 Ja

200 00:06:40,000 --> 00:06:42,000 Alltså fördelen för oss

201 00:06:42,000 --> 00:06:44,000 New schooler eller vad man ska kalla det

202 00:06:44,000 --> 00:06:46,000 Är ju att väldigt många bug bounty programs

203 00:06:46,000 --> 00:06:48,000 Är just webappar och moderna prylar

204 00:06:48,000 --> 00:06:50,000 I webappar som vi håller på med

205 00:06:50,000 --> 00:06:52,000 Mm

206 00:06:52,000 --> 00:06:54,000 Sådant som

207 00:06:54,000 --> 00:06:56,000 Så kan det vara jävligt lukrativt

208 00:06:56,000 --> 00:06:58,000 Det är ju för övrigt som en utav våra

209 00:06:58,000 --> 00:07:00,000 Med, vad ska man säga

210 00:07:00,000 --> 00:07:02,000 Medpresentatörer i podcasten, Johan

211 00:07:02,000 --> 00:07:04,000 Han hittade ju en

212 00:07:04,000 --> 00:07:06,000 Okej, men väldigt akademisk XSS

213 00:07:06,000 --> 00:07:08,000 I Twitter

214 00:07:08,000 --> 00:07:10,000 Och nu, för någon månad sedan

215 00:07:10,000 --> 00:07:12,000 Så gick de väl ut med att nu har de startat sitt bug bounty program

216 00:07:12,000 --> 00:07:14,000 Johan hamnade ju i och för sig på

217 00:07:14,000 --> 00:07:16,000 Twitter wall of fame

218 00:07:16,000 --> 00:07:18,000 Men han fick inga pengar för det

219 00:07:18,000 --> 00:07:20,000 Så det var lite smågrejer för att han hade submitat det här alldeles för tidigt

220 00:07:20,000 --> 00:07:22,000 Ja

221 00:07:22,000 --> 00:07:24,000 Det finns Google väl också

222 00:07:24,000 --> 00:07:26,000 Ja

223 00:07:26,000 --> 00:07:28,000 Coolt

224 00:07:28,000 --> 00:07:30,000 Det kanske är det här vi avrundar

225 00:07:30,000 --> 00:07:32,000 Jag tror det, jag vill

226 00:07:32,000 --> 00:07:34,000 Ja

227 00:07:34,000 --> 00:07:36,000 Tusen tack för din tid

228 00:07:36,000 --> 00:07:38,000 Ja tack för att jag fick komma

229 00:07:38,000 --> 00:07:40,000 Det var jätteroligt som du presenterade

230 00:07:40,000 --> 00:07:42,000 Ja, det vill vi se mer av

231 00:07:42,000 --> 00:07:44,000 Och fortsätt vara glad och motiverad

232 00:07:44,000 --> 00:07:46,000 Och brinna när du står där framme

233 00:07:46,000 --> 00:07:48,000 För det gör det riktigt intressant

234 00:07:48,000 --> 00:07:50,000 Ja, det ska jag se till

235 00:07:50,000 --> 00:07:52,000 Okej

236 00:07:52,000 --> 00:07:54,000 Okej, overall out

237 00:07:54,000 --> 00:07:56,000 Overall out